我可以通过将值传递给不同设备的OnIdiom元素来更改字体大小。但是如何将FontSize Medium传递给xaml中的OnIdiom,传入的TypeArguments是什么。
<Style x:Name="normalFont">
<Setter Property="FontSize">
<Setter.Value>
<OnIdiom.Phone>
<OnPlatform x:TypeArguments="x:Double" iOS="Small" Android="Small" />
</OnIdiom.Phone>
<OnIdiom.Tablet>
<OnPlatform x:TypeArguments="x:Double" iOS="Medium" Android="Medium" />
</OnIdiom.Tablet>
</Setter.Value>
</Setter>
</Style>
我知道它不应该是我应该放什么类型的双倍。
答案 0 :(得分:0)
把
X:TypeArguments = “NamedSize”
而不是
X:TypeArguments = “×:双”
答案 1 :(得分:0)
我是在xaml附带的Xaml.cs文件中完成的 在构造函数中添加此
if (Device.Idiom == TargetIdiom.Phone)
{
normalFont.FontSize=Device.GetNamedSize(NamedSize.Small,typeof(Style));
}
else if (Device.Idiom == TargetIdiom.Tablet)
{
normalFont.FontSize = Device.GetNamedSize(NamedSize.Medium, typeof(Style));
}
答案 2 :(得分:0)
在这里您可以看到必须如何做。
基本上,您必须创建一个MarkupExtension来处理转换。