Новый способ Xamarin для выполнения связывания OnPlatform StaticResource

Раньше я мог сделать что-то подобное

<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

Каким должен быть мой синтаксис?

1 ответ

Решение

Так как StaticResource является расширением разметки, вы можете использовать его либо через использование атрибута, либо через использование элемента

Например, попробуйте это:

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

или же,

<OnPlatform x:TypeArguments="Color">
    <On Platform="Android">
         <StaticResource Key="Primary" />
    </On>
</OnPlatform>
Другие вопросы по тегам