2

我一直在研究一个 WPF 项目,该项目有一个我似乎无法理解的缺口:有几个控件包括其他控件,并且由资源字典中的样式定义设置样式。内部控件之一是标签。该标签具有 5 的继承填充。

Label 没有定义样式,更不用说任何填充了。并且表明它是继承的,但我找不到那个 Padding 来自哪里。所以,我的问题是:我怎样才能弄清楚这个值是从哪里继承的?

4

1 回答 1

1

正如 Michiel M 所说,DependencyPropertyHelper.GetValueSource 是要走的路。

值的来源有一个不同的评估顺序:

最重要的是在上面

  1. 属性系统强制值 (CoerceValueCallback)
  2. 动画
  3. 本地设定值
  4. 风格触发器
  5. 模板触发器
  6. 样式设置器
  7. 主题风格触发
  8. 主题样式设置器
  9. 遗产
  10. 默认值

最后 ValidateValueCallback 接受或丢弃该值(如果已设置)

这可能有帮助

于 2013-07-18T13:55:06.053 回答