在 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(使用前将#替换为@)