我可以获取WPF ListBox来继承父元素的画笔吗?

Jay*_*Jay 3 .net wpf xaml listbox

我的WPF窗口将其前景画笔设置为资源字典中的画笔,我希望窗口中的所有文本都具有此颜色,因此我不会在其他任何内容中触摸前景画笔.

文本框获取颜色
Textblocks获取颜色
按钮获取颜色

列表框没有颜色,所以它们的内容也没有.

有没有办法让Listbox在这方面表现得像其他控件一样?

假设没有,并且这是设计的,理由是什么?

编辑:

看来我的问题还不够明确.

我理解如何创建样式和资源并将它们应用于ListBoxes; 我不知道为什么我需要为某些控件做到这一点时,我就没有需要为别人-为什么一些继承性和别人不一样-是否有什么办法可以让他们都以同样的方式继承.

dcs*_*raw 8

ListBox和其他一些控件未继承Foreground属性的原因是它使用默认样式的Setter显式重写.不幸的是,即使您为ListBox分配了一个不包含Foreground属性setter的自定义样式,它仍会在尝试继承其父级的值之前回退到使用默认样式.

确定属性值的优先顺序是:

  1. 本地价值
  2. 风格触发器
  3. 模板触发器
  4. 风格二传手
  5. 主题风格触发
  6. 主题风格的二传手
  7. 属性值继承
  8. 默认值

由于#6是在控件的默认样式中定义的,因此WPF不会尝试确定#7的值.