当我们可以使用DataTrigger以及何时可以使用Converter时,是否存在任何假设或规则?
答案 0 :(得分:2)
DataTriggers用于根据特定值更改样式。例如,当TextBlock的内容是低于0的数字时,将TextBlock更改为红色。
Converter用于将值转换为其他类型的值。例如,将布尔值转换为可见性枚举值
答案 1 :(得分:1)
DataTrigger只能用于检查特定值 - 它不能用于检查范围。 DataTrigger可以组合用于多个条件(MultiTrigger) - ValueConverter只能将一个值转换为另一个值。 (当然,MultiValueConverter可以采用许多值(并监听所有值的更新 - 但仍然只返回一个值。)
这两个可以结合使用,但是 - 比如说,有一个ValueConverter来检查值是否低于50(返回true)以激活DataTrigger(将它放在DataTrigger的Binding中)。
所以,我的书中没有黄金法则 - 只有可能使其中一个无法使用(或非常非常难以应用)的情况。