如何使两个Viewbox中的文本大小相同?

2024-04-23

在 WPF 中,我使用 Viewbox 使一些文本自动调整大小。问题是文本最终会使用不同的字体,因为较短的文本会显示得较大。

<Grid>
    <!--grid definitions-->
    <TextBlock Text="short text" Grid.Row="1" Grid.Column="0" x:Name="tb2" FontSize="{Binding ElementName=tb3, Path=FontSize}"/>   <--HERE
    <Viewbox Grid.Column="0" Grid.Row="2">
        <TextBlock Text="looooong text" x:Name="tb3" Style="{StaticResource txtNormal}"/>
    </Viewbox>
</Grid>

在“HERE”标记的行中,我尝试绑定一个的字体大小TextBlcok到另一个,但它不起作用。我也尝试过使用StretchDirection="DownOnly";虽然这确实使它们尺寸相同,但也小得多。我也看到了这个帖子 https://stackoverflow.com/questions/26609703/setting-the-same-font-size-across-multiple-viewboxes并试图把Viewbox之外的Grid,但这会扰乱中定义的列宽比ColumnDefinition.

那么如何制作不同的文本Viewbox大小相同吗?谢谢!


将另一个 TextBlock(短文本)也放入 ViewBox 中,并将该 ViewBox MaxHeight 绑定到另一个 ViewBox(长文本)的 ActualHeight。

<Viewbox MaxHeight="{Binding ElementName=vb, Path=ActualHeight}">
    <TextBlock Text="short text" Grid.Row="0" Grid.Column="0" x:Name="tb2" />
</Viewbox>
<Viewbox Name="vb" Grid.Column="0" Grid.Row="1">
    <TextBlock Text="looooooooooong text" x:Name="tb3"/>
 </Viewbox>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使两个Viewbox中的文本大小相同? 的相关文章

随机推荐