.Net Framework WPF

WPF DataTrigger 実装例(コードサンプルあり)

2017年5月19日

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>

-.Net Framework, WPF