如果有很多样式影响同一个控件,那么在运行时确定使用的样式的最佳方法是什么?在设计的时候似乎很难找到合适的影响风格,因为使用的风格和画笔可以在不同的层次上应用。
例如:我有一个由行和单元格组成的数据网格。当我将鼠标悬停在一个单元格上时,它会影响边框厚度(从0,0,1,1到0,0,1,0),而且我似乎找不到是哪种样式影响了这种变化。
我通常使用Snoop在运行时调试我的应用程序。它会告诉你当前的属性值是什么,以及它来自哪里(尽管有时它有点模糊,比如只说"继承"而不是它的继承对象)。
但是通常您只能将Style
设置为单个值,并且最多只能将BasedOn
设置为一种样式,所以我不经常遇到这个问题。
另一个有用的资源是依赖属性优先级列表,它可以帮助诊断在多个位置设置相同属性时哪些值优先于其他值。