2017-01-01 130 views
0

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

return UIFont.SystemFontSize; 

,并在Mac上得到这个,我通过调用

return NSFont.SystemFontSize; 

在Android上得到它,我必须使用屏幕的dpi捏造的东西了。

uwp是否提供系统字体大小?或者我还需要在那里做点什么?

回答

2

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"]