Как задать стиль в Xamarin программно / code — behind

#xamarin.forms

#xamarin.forms

Вопрос:

Мне нужно установить стиль в конце кода. Как мне этого добиться? Я установил стиль в приложении, однако я использую Idom и, похоже, не могу добавить OnPlatform к тому же стилю, поэтому я решил сохранить идиому и установить это в конце страницы

У меня есть это, и это вызывает исключение

 if (DefaultSettings.DevicePlatform == "iOS" )
{
    layout.Style = (Style)Resources["Relative"];
}
else
{
    layout.Style = (Style)Resources["RelativeAndroid"];
}
  

Ответ №1:

App.xaml

 <Style x:Key="YouriOSStyle" TargetType="RelativeLayout">
    <Setter Property="BackgroundColor" Value="Blue"/>
</Style>
<Style x:Key="YourAndroidStyle" TargetType="RelativeLayout">
    <Setter Property="BackgroundColor" Value="Red"/>
</Style>
  

Код позади

 // better statement would be this
if(Device.RuntimePlatform == Device.iOS)
{
   layout.SetDynamicResource(RelativeLayout.StyleProperty, "YouriOSStyle");
}
else
{
   layout.SetDynamicResource(RelativeLayout.StyleProperty, "YourAndroidStyle");
}