WPF DataTrigger の利用方法を紹介します。
DataTrigger とは
WPF の DataTrigger は、バインドされているオブジェクト(例えばユーザーコントロール)のプロパティの値が特定の状態になった場合に、他のプロパティを設定することができます。Windows Forms であれば、コードビハインドで手続き的なロジックを書く必要がある処理も、WPF の DataTrigger を利用することで、XAML 上の宣言的な記述で完結させることができ、UI にまつわる制御を Xaml で完結することができるのがメリットです。
文章で書くと理解しづらいですが、実装例を見ると理解しやすいと思います。
DataTrigger 実装例
続いて、DataTrigger の実装例を示します。ここでは、CheckBox コントロールと Label コントロールが配置されている画面があるとします。
CheckBox のチェック状態(IsChecked プロパティ)の値に応じて、Label のプロパティを変更しています。
<CheckBox x:Name="checkBox" Content="CheckBox" VerticalAlignment="Top"/>
<TextBlock x:Name="label" Margin="0,30,0,0" VerticalAlignment="Top" >
<TextBlock.Style>
<Style TargetType="TextBlock">
<Setter Property="Text" Value="label"/>
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=checkBox, Path=IsChecked}"
Value="True">
<Setter Property="Text" Value="チェックされました"/>
<Setter Property="Foreground" Value="Red"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>