3

我有一个字体大小为 14 的文本。
在较小的屏幕上它是可见的,但在较大的屏幕上它会变小。
我该如何处理?
在android上,我们可以SP根据屏幕调整字体大小。
Windows 8中是否有类似的东西?

4

3 回答 3

1

我假设您正在使用 XAML?

所以,你应该从这样的事情开始:

<Page.Resources>
    <x:Double x:Key="MyFontSize" />
    <Style TargetType="TextBlock" x:Name="StandardText">
        <Setter Property="FontSize" Value="{StaticResource MyFontSize}" />
    </Style>
</Page.Resources>

<TextBlock Style="{StaticResource StandardText}">Hello World</TextBlock>

然后在你的代码后面有这样的东西:

Double _FontSize;
if (Windows.UI.ViewManagement.ApplicationView.Value
    == Windows.UI.ViewManagement.ApplicationViewState.FullScreenPortrait)
{
    // based on portrait
    if (this.RenderSize.Height > 2000)
        _FontSize = 30;
    if (this.RenderSize.Height > 1000)
        _FontSize = 20;
    else
        _FontSize = 10;
}
else
{
    // based on landscape
    if (this.RenderSize.Height > 1500)
        _FontSize = 30;
    if (this.RenderSize.Height > 1000)
        _FontSize = 20;
    else
        _FontSize = 10;
}
this.Resources["MyFontSize"] = _FontSize;

除非用户更改您的监视器,否则您在应用加载时检测到的任何内容都将始终保留!

于 2012-10-05T15:18:43.970 回答
1

我正在对此进行研究。我开始了解 2 种不同的事情。一个是 View Box,另一个是逻辑 DPI。

于 2012-10-07T20:00:46.327 回答
1

这将完全符合您的要求。

<Viewbox>
    <TextBlock>Hello World</TextBlock>
</Viewbox>
于 2013-01-15T18:05:04.360 回答