2009-12-11 6 views

Répondre

16

Êtes-vous après quelque chose comme, "Si (x == 1), rendre l'arrière-plan de ce contrôle bleu"? Si c'est ce que vous recherchez, vous pouvez utiliser des déclencheurs de données. Voici un exemple qui modifie la couleur d'arrière-plan d'un contrôle en fonction de certaines données. Dans cet exemple, je l'ai fait partie d'un style et l'ai utilisé plus tard dans certains contrôles.

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

Si les modifications « coloration » des valeurs à « rouge », « Blue », ou « blanc », il mettra à jour la propriété d'arrière-plan de l'DockPanel en conséquence.

<DockPanel Style="{StaticResource ColoringStyle}"> 
    ... 
</DockPanel> 
Questions connexes