2016-10-11 3 views
1

Ich möchte einen Stil auf ein Steuerelement anwenden. Dies ist der StilAnwenden Stil auf Steuerelement in benutzerdefinierten Renderer

<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> 

, die in App.xaml (UWP-Projekt) zu finden sind. Und hier ist der benutzerdefinierte Renderer:

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; 
    } 
} 

Die Idee basiert auf this answer. Aber der Stil wird nicht angewendet. die Hintergrundfarbe in Code-Einstellung funktioniert:

this.Control.BackgroundColor = new SolidColorBrush(Windows.UI.Colors.Yellow); 

Wie kann ich einen Stil auf ein Steuerelement in einem benutzerdefinierten Renderer anwenden?

+0

+0

Setter-Eigenschaft kann "BackgroundColor" nicht nur Hintergrund sein. Probieren Sie es aus –

+0

* Unbekanntes Mitglied 'BackgroundColor' auf Element 'Button' *. * Das Element "BackgroundColor" wird nicht erkannt oder ist nicht zugänglich. * – testing

Antwort

0

Ich habe einen Fehlerbericht ausgefüllt. Es sollte in einer der kommenden Releases behoben werden (> XF 2.3.3.166-pre4).

Verwandte Themen