Freitag, 31. Mai 2013

WPF DataTrigger

Der DataTrigger ist ein guter und einfacher Weg, WPF Controls im Aussehen zu ändern oder zum Beispiel das IsEnabled Flag anzupassen. Im Folgenden werde ich den Content eines Buttons anpassen, je nachdem, ob die Checkbox selektiert ist oder nicht. Es ist natürlich auch möglich an eine Property vom DataContext zu binden.

 <CheckBox x:Name="IsEnabled" IsChecked="True" HorizontalAlignment="Center" />  
 <Button>  
      <Button.Style>  
           <Style>  
                <Style.Triggers>  
                     <DataTrigger Binding="{Binding ElementName=IsEnabled, Path=IsChecked}" Value="True">  
                          <Setter Property="Button.Content" Value="one" />  
                     </DataTrigger>  
                     <DataTrigger Binding="{Binding ElementName=IsEnabled, Path=IsChecked}" Value="False">  
                          <Setter Property="Button.Content" Value="two" />  
                     </DataTrigger>  
                </Style.Triggers>  
           </Style>  
      </Button.Style>  
 </Button>  

Das Ergebnis ist dann wie erwartet: