2016-10-11 6 views
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); 

Как применить стиль к элементу управления в пользовательском рендерере?

+0

+0

Сеттер собственности может быть «BackgroundColor» не только Фон. Попробуйте это –

+0

* Неизвестный участник 'BackgroundColor' на элемент 'Button' *. * Элемент «BackgroundColor» не распознается или недоступен. * – testing

ответ

0

Я заполнил отчет об ошибке. Он должен быть исправлен в одном из следующих выпусков (> XF 2.3.3.166-pre4).