#xaml #xamarin.forms #staticresource
Вопрос:
У меня есть запись со стилем из StaticRecourse , но возможно ли иметь 2 разных стиля для iOS и Android
<Entry
x:Name="Partijladen"
Grid.Row="15"
Grid.Column="4"
Grid.ColumnSpan="2"
Keyboard="Numeric"
Style="{StaticResource AEntry}"
TextChanged="Partijladen_TextChanged" />
Это работает, но я хочу другой стиль для Android, скажем, «БЕнтри». Что мне здесь изменить, разве это невозможно
Style="{StaticResource AEntry}"
И в App.xaml
<Style x:Key="AEntry" TargetType="Entry">
<Setter Property="TextColor" Value="#2c2c2e" />
<Setter Property="WidthRequest" Value="80" />
<Setter Property="HeightRequest" Value="10" />
<Setter Property="IsReadOnly" Value="True" />
<Setter Property="HorizontalTextAlignment" Value="Center" />
</Style>
<Style x:Key="BEntry" TargetType="Entry">
<Setter Property="TextColor" Value="DarkGreen" />
<Setter Property="FontSize" Value="25" />
<Setter Property="WidthRequest" Value="80" />
<Setter Property="HeightRequest" Value="10" />
<Setter Property="IsReadOnly" Value="True" />
<Setter Property="HorizontalTextAlignment" Value="Center" />
</Style>
Попробовал это, но ошибка
Ответ №1:
Когда у вас есть два разных слога:
<Entry
...
Style="{x:OnPlatform Android={StaticResource AEntry},
iOS={StaticResource BEntry}}" />
Кроме того, вы можете задать атрибуты стиля для конкретной платформы в том же стиле.
<Style x:Key="AEntry" TargetType="Entry">
<Setter Property="FontSize" Value="{x:OnPlatform UWP='', iOS='22', Android='20'}" />
...
</Style>
Комментарии:
1. Спасибо за ответ , Шва, когда я пробую ваш пример, он выдает ошибку . После ожидаемого iOS»} » Попробовал множество вариантов, но не знал, куда его поместить
2. Обновите вопрос с помощью стиля в App.xaml
3. @Bassies Извините, пропустил запятую перед «ios» (как набрано здесь, не скопировано), обновил ответ.