Xamarin 执行 OnPlatform StaticResource 绑定的新方式

Xamarin's new way of performing OnPlatform StaticResource binding

以前我可以做这样的事情

<OnPlatform x:TypeArguments="Color" Android="{StaticResource Primary}"/>

既然该语法已被弃用,我正在尝试这样做:

<OnPlatform x:TypeArguments="Color">
   <On Platform="Android">{StaticResource Primary}</On>
</OnPlatform>

但我收到以下错误:

Cannot convert "{StaticResource Primary}" into Xamarin.Forms.Color

我的语法应该怎样?

因为 StaticResource 是标记扩展,您可以通过 attribute usage, or element usage

使用它

例如,试试这个:

<OnPlatform x:TypeArguments="Color">
    <On Platform="Android" Value="{StaticResource Primary}" />
</OnPlatform>

或者,

<OnPlatform x:TypeArguments="Color">
    <On Platform="Android">
         <StaticResource Key="Primary" />
    </On>
</OnPlatform>