当屏幕变小时,增大字体大小
本文关键字:字体 屏幕 小时 | 更新日期: 2023-09-27 18:18:01
我有这个在我的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,因此无论分辨率如何,它们的大小都是相同的。viewbox可以让你把所有的东西都缩小到合适的大小,尽管根据我的经验,它通常会让所有的东西看起来都太小,尤其是在台式机上设计然后在笔记本电脑上观看的时候。我自己做的是创建两个主题,并根据物理显示尺寸(即产品的DPI和分辨率)选择合适的一个。我不确定这是不是最好的解决方案,但到目前为止,它似乎是有效的。