任何假设或规则是否存在,我们何时可以使用DataTrigger以及何时可以使用Converter?何时使用DataTrigger以及何时使用Converter?
1
A
回答
2
DataTriggers用于根据特定值更改样式。例如,当TextBlock的内容为低于0的数字时,将TextBlock更改为红色。
转换器用于将值转换为另一种类型的值。例如,将布尔转换为Visibility枚举值
1
DataTrigger只能用于检查特定值 - 它不能例如检查范围。 DataTrigger可以组合多个条件(MultiTrigger) - ValueConverter只能将一个值转换为另一个值。 (当然,MultiValueConverter可以获取很多值(并在所有这些值上侦听更新 - 但仍然只返回一个值)。)
虽然两者可以结合使用 - 比方说,有一个ValueConverter可以检查如果该值低于50(返回true)以激活DataTrigger(将其放入DataTrigger的绑定中)。
因此,在我的书中没有黄金法则 - 只有情况可能导致其中一个无法使用(或者非常非常难以应用)。
相关问题
- 1. 何时使用Cucumber以及何时使用RSpec?
- 2. 何时使用jQuery.ajax以及何时使用jQuery.post?
- 3. 何时使用json以及何时使用jquery $ .ajax进行jsonp?
- 4. 何时使用dup以及何时在Ruby中使用克隆?
- 5. 何时使用undef_method以及何时使用remove_method?
- 6. 何时使用ContainerMovieClip以及何时使用UIMovieClip?
- 7. 何时使用Gen_Fsm以及何时使用Gen_Server?
- 8. 何时使用Abstract Factory以及何时使用Factory Method?
- 9. 何时使用ASP.NET验证控件以及何时不使用?
- 10. 何时使用Apache Helix以及何时使用Apache Mesos
- 11. 何时使用Socket以及何时在Flex中使用XMLSocket?
- 12. 何时使用LEFT JOIN以及何时使用INNER JOIN?
- 13. 何时使用数组以及何时使用单元阵列?
- 14. 何时使用assert()以及何时使用try catch?
- 15. 何时使用'if ... else if'以及何时使用
- 16. 何时使用Class.isInstance()以及何时使用instanceof运算符?
- 17. 了解何时使用事件以及何时使用回调
- 18. 何时使用Comparator以及何时在Java中使用Comparable?
- 19. JHipster:何时使用$ http以及何时使用$ resource
- 20. 何时使用Docker-Compose以及何时使用Docker-Swarm
- 21. 何时使用模块以及何时使用某个类
- 22. 何时使用Value Formatter以及何时使用Value Resolver
- 23. SSL - 如何以及何时使用它
- 24. 何时以及如何使用QueryString [“ReturnUrl”]
- 25. 何时何时使用以及何时不使用DP和PX措施Android
- 26. 什么时候应该使用require()以及何时使用define()?
- 27. 什么时候使用Task以及何时使用Thread?
- 28. 为什么以及何时使用process.nextTick?
- 29. 为什么以及何时使用LINQ?
- 30. 您如何知道何时使用XML解析器以及何时使用ActiveResource?