MSDN でDataTriggerについて読んでいるときに、それは言う
バインドされたデータが指定された条件を満たしたときに、プロパティ値を適用するかアクションを実行するトリガーを表します。
その意味は
トリガーが真の場合、値を目的の値に変更します。
しかし、これは推測できますか?
true でなくなると、値を以前の値に戻します。
この結論に至った経緯
これは私がしました
<Style x:Key="fd" TargetType="SomeControl">
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate>
<Button Content="Foo" x:Name="mybutton">
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=FooProperty}"
Value="Collapsed">
<Setter Property="IsEnabled" Value="False" TargetName="mybutton"/>
<Setter Property="Opacity" Value="0.5" TargetName="mybutton"/>
</DataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
FooProperty
折りたたまれると、mybutton がtoIsEnabled
とFalse
toOpacity
に変わります0.5
表示されるようになると、以前の値に戻すためのトリガーを記述していなくても、FooProperty
mybutton がIsEnabled
toTrue
とOpacity
toに変更されます。1
DataTrigger
これは、以前の値に戻すための組み込みの機能ですか?
はいの場合、これを証明する Microsoft/MSDN ドキュメントはありますか?