1
Я хочу применить стиль к элементу управления. Это стильПрименить стиль для управления в пользовательском рендерере
<Application.Resources>
<ResourceDictionary>
<SolidColorBrush x:Key="BackgroundColor" Color="Yellow" />
<Style TargetType="Button" x:Name="myNewButtonStyle">
<Setter Property="Background" Value="{StaticResource BackgroundColor}" />
</Style>
</ResourceDictionary>
</Application.Resources>
, который можно найти в App.xaml (проект UWP). А вот обычай рендерер:
protected override void OnElementChanged(ElementChangedEventArgs<Button> e)
{
base.OnElementChanged(e);
if (this.Element != null)
{
var style = Windows.UI.Xaml.Application.Current.Resources["myNewButtonStyle"] as Windows.UI.Xaml.Style;
this.Control.Style = style;
}
}
Идея основана на this answer. Но стиль не применяется. Установка цвета фона в коде работает:
this.Control.BackgroundColor = new SolidColorBrush(Windows.UI.Colors.Yellow);
Как применить стиль к элементу управления в пользовательском рендерере?
Сеттер собственности может быть «BackgroundColor» не только Фон. Попробуйте это –
* Неизвестный участник 'BackgroundColor' на элемент 'Button' *. * Элемент «BackgroundColor» не распознается или недоступен. * – testing