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>