屏幕较小时增加字体大小

时间:2015-10-16 07:35:51

标签: c# xaml fonts win-universal-app

我在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,以便所有屏幕尺寸都可读取?有没有办法在屏幕扩展时增加字体大小?

2 个答案:

答案 0 :(得分:0)

您可以将其包装在ViewBox中

<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
    <Viewbox>
        <TextBlock HorizontalAlignment="Center" TextWrapping="Wrap" Text="Hello there and welcome!" />
    </Viewbox>
</Window>

答案 1 :(得分:0)

WPF字体具有DPI感知功能,因此无论分辨率如何,它们的大小都相同。视图框将允许您缩小所有内容以适应,但根据我的经验,它通常会导致一切看起来太小,特别是如果它是在桌面上设计然后在笔记本电脑上查看。我自己做的是创建两个主题,并根据物理显示尺寸(即DPI和分辨率的乘积)选择合适的主题。不确定它是否是最佳解决方案,但到目前为止它似乎正在起作用。