我遇到了一个问题,并尝试了互联网和线程来找到解决方案,但还没有找到。 我是编程的初学者,任何帮助都将不胜感激。
我有一个窗口,它将显示在辅助屏幕上,一个TextBlock包装在一个视图框中,文本被绑定,并将在运行时在第二个屏幕上以dymnamically的形式填充。 fontsize也是Binded,可以由用户更改。
这非常有效。 问题是当用户将fontsize增加到更高的值时,如果文本很短,则文本看起来很好但如果文本非常大,则文本看起来很难看有时会变得不可读。
我已经尝试了ViewBox的Sretch方向和拉伸,但没有找到更好的方法来解决我的问题,但是如果文本非常长并且文本不可读则减少字体大小使文本可读。
我如何得到帮助。我想到的一个解决方案是计算父网格的高度和宽度上的字体大小,这样当文本很长时,计算会将字体大小减少到可读的位置。
这是我的样本Xaml
<Grid>
<Viewbox Stretch="Fill"
StretchDirection="DownOnly">
<TextBlock Text="{Binding}"
Width="{Binding}"
FontSize="{Binding}"
TextWrapping="Wrap">
</TextBlock>
</Viewbox>
</Grid>
Here is the Ugly Behavior when text is very long and fontsize is set highly
答案 0 :(得分:0)
好的,我找到了解决问题的方法。如果有人有其他解决方案,将受到欢迎。
我将文本块包装在边框内,并删除了文本块宽度的绑定,并将其手动设置为1200.
<Grid>
<Viewbox >
<Border>
<TextBlock Text="{Binding}"
Width="{1200}"
FontSize="{Binding}"
TextWrapping="Wrap">
</TextBlock>
</Border>
</Viewbox>