Freitag, 24. Mai 2013

GroupBox Header wird nicht disabled angezeigt

Die WPF GroupBox kann wie jedes Control, das von UIElement ableitet, über die Property IsEnabled enabled bzw. disabled werden.
Leider wird der Header Text dabei nicht wie erwartet ausgegraut. Wenn man aber das HeaderTemplate überschreibt, kann man auf einfache Weise dieses Verhalten implementieren.

 <StackPanel>  
      <CheckBox Content="CheckBox" x:Name="Checkbox" />  
      <GroupBox Header="Text 1" IsEnabled="{Binding ElementName=Checkbox, Path=IsChecked}" />  
      <GroupBox Header="Text 2" IsEnabled="{Binding ElementName=Checkbox, Path=IsChecked}">  
           <GroupBox.HeaderTemplate>  
                <DataTemplate>  
                     <Label Content="{Binding}" />  
                </DataTemplate>  
           </GroupBox.HeaderTemplate>  
      </GroupBox>  
 </StackPanel>  

Hier der Unterschied zwischen den beiden GroupBox Controls: