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