UWP中的系统字体大小?

时间:2017-01-01 14:42:37

标签: uwp font-size

我有一个跨平台的应用程序。应用程序内部计算出相对于系统提供的基本大小的所有字体大小。在iOS上,我通过调用

来得到它
return NSFont.SystemFontSize;

在Mac上,我通过调用

来获取它
Arduino: 1.8.0 (Windows 10), Board: "Arduino/Genuino Uno"

c:\program files (x86)\arduino\hardware\tools\avr\bin\../lib/gcc/avr/4.9.2/../../../../avr/bin/ar.exe: unable to rename 'core\core.a'; reason: Permission denied

exit status 1
Error compiling for board Arduino/Genuino Uno.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

在Android上,我必须使用屏幕dpi来捏造一些东西。

uwp是否提供系统字体大小?或者我也需要在那里捏造一些东西?

1 个答案:

答案 0 :(得分:3)

UWP并没有一个预先定义的字体大小,而是基于generic.xaml定义的字体大小列表(其中所有默认控件的样式都存在)。

从该文件中抓取一些尺寸:

<x:Double x:Key="ControlContentThemeFontSize">15</x:Double>
<x:Double x:Key="ContentControlFontSize">15</x:Double>
<x:Double x:Key="TextStyleLargeFontSize">18.14</x:Double>
<x:Double x:Key="TextStyleExtraLargeFontSize">25.5</x:Double>

如果您查看控件,您会注意到ControlContentThemeFontSize是用于大多数控件常规文本大小的控件。

<Style TargetType="Button">
...
    <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" />

...
<Style TargetType="TextBox">
...
    <Setter Property="FontSize" Value="{ThemeResource ControlContentThemeFontSize}" />

您可以使用以下代码从默认资源中检索任何密钥,这是一个页面/控件/...:

this.Resources["ControlContentThemeFontSize"]