C# 如何使用Xamarin在xaml中创建自定义字体大小,以便根据设备更改字体大小?

C# 如何使用Xamarin在xaml中创建自定义字体大小,以便根据设备更改字体大小?,c#,xaml,xamarin,uwp,cross-platform,C#,Xaml,Xamarin,Uwp,Cross Platform,有没有办法创建一个自定义fontsize,其工作原理与Xamarin内置的Micro或Small或Title相同。我希望能够像下面这样使用它: <Label Text="Test" FontSize="MyFontSize"/> 我认为在我的资源字典中可以实现如下内容,但它不起作用: <FontSize x:Key="MyFontSize"> <OnPlatform x:TypeArguments="FontSize"> <

有没有办法创建一个自定义fontsize,其工作原理与Xamarin内置的Micro或Small或Title相同。我希望能够像下面这样使用它:

<Label Text="Test" FontSize="MyFontSize"/>

我认为在我的资源字典中可以实现如下内容,但它不起作用:

<FontSize x:Key="MyFontSize">
    <OnPlatform x:TypeArguments="FontSize">
        <On Platform="UWP">25</On>
        <On Platform="iOS">12</On>
    </OnPlatform>
</FontSize>

25
12
错误显示:

“找不到FontSize类型”

这不是一个运行时错误。它只是XAML编辑器中的一条绿色下划线


可以这样做吗?

您需要使用
x:Double

<OnPlatform x:Key="MyFontSize" x:TypeArguments="x:Double">
    <On Platform="UWP">25</On>
    <On Platform="iOS">12</On>
</OnPlatform>

25
12
然后像这样引用资源:

<Label Text="Test" FontSize="{StaticResource MyFontSize}"/>

也可以直接在视图中指定它:

<Label Text="Test">
   <Label.FontSize>
      <OnPlatform x:TypeArguments="x:Double">
          <On Platform="UWP">25</On>
          <On Platform="iOS">12</On>
      </OnPlatform>
   </Label.FontSize>
</Label>

25
12

在我的资源字典中不起作用,我应该把它放在哪里。上面说FontSize没有找到哦对了!它不应该被包装在
标签中,它应该只是
平台上的
-我现在已经更新了答案,很高兴它有帮助!由于你在这个网站上享有很高的声誉,请你回顾一下我原来的问题。如果它需要改进,那么请你建议如何改进它,如果不需要,请你投票表决。非常感谢。