2017-01-01 110 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"]