基于动态资源的风格

似乎不允许这样的事情。 任何解决方法?

  

我收到错误:无法在’Style’类型的’BasedOn’属性上设置’DynamicResourceExtension’。 ‘DynamicResourceExtension’只能在DependencyObject的DependencyProperty上设置。

如果我将其更改为StaticResource,则该样式不会出现在我的控件中。

这里有两个问题:

首先,您的全局样式需要出现在派生样式之前(在相同的资源部分中,或者在尝试定义派生样式之前合并到适当的ResourceDictionary中)。

此外,您需要在按钮中明确定义样式:

  

请注意,在这种情况下,您不会创建动态资源(即需要重新加载的资源)。 它是静态的,因为用于基于OnOn的Style需要。

首先你需要放置基础风格,然后使用这个低音风格的风格: