0
我尝试了解WPF中属性触发器相对于数据触发器的优点。 看起来,属性触发器只能被一个在依赖项属性中改变的值触发,并且数据触发器既可以通过依赖属性中更改的值触发,也可以通过实现INotifyPropertyChange的.Net对象更改。所以我的问题是,为什么不总是使用数据触发器?WPF中属性触发器优于数据触发器的优点
我尝试了解WPF中属性触发器相对于数据触发器的优点。 看起来,属性触发器只能被一个在依赖项属性中改变的值触发,并且数据触发器既可以通过依赖属性中更改的值触发,也可以通过实现INotifyPropertyChange的.Net对象更改。所以我的问题是,为什么不总是使用数据触发器?WPF中属性触发器优于数据触发器的优点
Trigger
查看您正在造型/模板的项目中的属性,而DataTrigger
默认查看当前的DataContext
。
例子:
<Style TargetType="ListBoxItem">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<!-- applied when mouse is over the ListBoxItem -->
</Trigger>
<DataTrigger Binding="{Binding Name}" Value="Kent">
<!-- applied when the ListBoxItem's data has a Name property set to "Kent" -->
</DataTrigger>
</Style.Triggers>
</Style>
所以,唯一的财产触发优点是,它得到由风格项属性的值更改触发的短呢?因为我可以绑定到使用DataTrigger的样式的项目属性... – Andy 2009-04-28 10:57:00