在 MSDN 上阅读DataTrigger时,它说
表示当绑定数据满足指定条件时应用属性值或执行操作的触发器。
它的意思是
当触发器为真时,它会将值更改为所需的值。
但是,这可以推断吗?
当它不再为真时,它会将值返回到先前的值。
我是如何得出这个结论的
我做了这个
<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更改IsEnabled
为False
和Opacity
0.5
现在,当FooProperty
它变得可见时,它会将 mybutton 更改IsEnabled
为True
和Opacity
,1
即使我没有编写任何触发器来恢复到以前的值。
DataTrigger
当它不再是真的时,这是恢复到以前的值的内置功能吗?
如果是,是否有任何 Microsoft/MSDN 文档可以证明这一点?