2009-12-11 16 views

Antwort

16

Sind Sie nach etwas wie, "Wenn (x == 1), machen Sie den Hintergrund dieser Kontrolle blau"? Wenn Sie danach suchen, können Sie Datenauslöser verwenden. Hier ist ein Beispiel, das die Hintergrundfarbe eines Steuerelements basierend auf einigen Daten bedingt ändert. In diesem Beispiel habe ich es zu einem Stil gemacht und später in einigen Steuerelementen verwendet.

<UserControl.Resources> 
    <Style x:Key="ColoringStyle" TargetType="{x:Type DockPanel}"> 
     <Style.Triggers> 
      <DataTrigger Binding="{Binding Path=Coloring}" Value="Red"> 
       <Setter Property="Background" Value="#33FF0000"></Setter> 
      </DataTrigger> 
      <DataTrigger Binding="{Binding Path=Coloring}" Value="Blue"> 
       <Setter Property="Background" Value="#330000FF"></Setter> 
      </DataTrigger> 
      <DataTrigger Binding="{Binding Path=Coloring}" Value="White"> 
       <Setter Property="Background" Value="#33FFFFFF"></Setter> 
      </DataTrigger> 
     </Style.Triggers> 
    </Style> 
</UserControl.Resources> 

Wenn 'Coloring' Änderungen Werte zu 'Red', 'Blue' oder 'White', wird es dementsprechend die Hintergrundeigenschaft des DockPanel aktualisieren.

<DockPanel Style="{StaticResource ColoringStyle}"> 
    ... 
</DockPanel> 
Verwandte Themen