WPF中属性触发器相对于数据触发器的优点是什么?

时间:2009-04-28 10:02:37

标签: wpf triggers

我尝试了解WPF中属性触发器对数据触发器的优势。 似乎属性触发器只能由依赖项属性中更改的值触发,并且数据触发器既可以由依赖项属性中更改的值触发,也可以在实现INotifyPropertyChange的.Net对象中更改的值触发。所以我的问题是,为什么不总是使用数据触发器?

1 个答案:

答案 0 :(得分:3)

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>