它们看起来一样。但它们之间有显著的区别吗?我觉得我漏掉了什么。
它们看起来一样。但它们之间有显著的区别吗?我觉得我漏掉了什么。
普通的 Trigger
只响应依赖属性。
DataTrigger
可以通过设置其 Binding
属性来触发任何 .NET 属性。但是,它的 setter 仍然只能指定依赖属性。
DataTrigger
可以绑定到另一个控件、StaticResource等等。<Style TargetType="TextBox">
<Style.Triggers>
<DataTrigger
Binding="{Binding SomeProperty,
ElementName=someOtherControl"
Value="Derp">
<!-- etc -->
Trigger
时才能检查样式所设置的实例。例如,应用于按钮的 Trigger
可以检查 IsPressed
的值,但如果您希望在同一表单上禁用 Button
如果TextBox
为空,则无法检查(例如)Text
值。