覆盖WPF中的DefaultStyle

Sau*_*ron 17 wpf styles

任何人都可以解释OverridesDefaultStyle实际对控件做了什么.我读过MSDN,但我不明白.

Tho*_*que 31

它用于忽略控件的默认样式.默认情况下,如果在UI中放置控件,则未在本地设置(显式或使用自定义样式)的所有属性将从默认样式中获取其值.如果设置OverridesDefaultStyletrue,则不使用默认样式

  • 通过将“OverridesDefaultStyle”设置为“true”解决的一个问题是“DependencyProperty”值继承(请参阅[DependencyProperty 值优先级](https://msdn.microsoft.com/en-us/library/ms743230%28v=vs.110) %29.aspx))。某些样式设置了属性,这会破坏继承。例如:如果您希望在“ItemsControl”中使用相同的“Foreground”颜色,然后使用“Button”。Button 样式将覆盖 Foreground 属性,并且继承将不起作用。 (2认同)