C# 屏幕变小时增加字体大小
我的C# 屏幕变小时增加字体大小,c#,xaml,fonts,win-universal-app,C#,Xaml,Fonts,Win Universal App,我的XAML中有这个 <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="0.4*"/> <ColumnDefinition Width="*"/> <ColumnDefinition Width="0.4*"/> </Grid.ColumnDefinitions> <Grid
XAML中有这个
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.4*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="0.4*"/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="1">
<Grid.RowDefinitions>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="0.5*"/>
</Grid.RowDefinitions>
<Grid Grid.Row="1" >
<TextBlock HorizontalAlignment="Center" TextWrapping="Wrap" Text="Hello there and welcome!" />
</Grid>
</Grid>
</Grid>
我面临的问题是TextBlock
在所有屏幕大小上都保持不变FontSize
,因此当屏幕很小时,它很容易阅读,但随着屏幕变大,它就更难阅读
如何将其保持在一个好的FontSize
,以便从所有屏幕大小都可以读取?有没有办法随着屏幕的扩展而增加字体大小?您可以将其包装在ViewBox中
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<Viewbox>
<TextBlock HorizontalAlignment="Center" TextWrapping="Wrap" Text="Hello there and welcome!" />
</Viewbox>
</Window>
WPF字体支持DPI,因此无论分辨率如何,它们的大小都相同。一个可视框可以让你把所有的东西缩小到合适的尺寸,尽管根据我的经验,它通常会导致所有东西看起来都太小,特别是如果它是在桌面上设计的,然后在笔记本上查看的话。我自己做的是创建两个主题,并根据物理显示大小(即DPI和分辨率的乘积)选择合适的主题。不确定这是否是最好的解决方案,但到目前为止,它似乎正在发挥作用。我已经在一个视图框中包装好了。在纵向模式下,字体大小小得离谱,屏幕大得离谱。@HansPassant好笑:|只是好奇而已。你使用的字体大小和大屏幕的设备是什么?我没有设置字体大小,因为它是固定的。屏幕是标准的仿真器,当它最小化时,字体大小保持不变,而不是变大以清晰可读的格式显示@JustinXLI我会注意到问题是关于通用应用程序,而不是WPF。我不知道这对你的回答是否重要。