看来这样的事情是不允许的。有什么解决办法吗?
<Style x:Key=MyDerivedStyle TargetType="{x:Type Button}"
BasedOn="{DynamicResource GlobalButtonStyle}" />
<Style x:Key="GlobalLabelStyle" TargetType="{x:Type Button}">
我收到错误:
无法在“Style”类型的“BasedOn”属性上设置“DynamicResourceExtension”。 “DynamicResourceExtension”只能在 DependencyObject 的 DependencyProperty 上设置。
如果我将其更改为 StaticResource,该样式不会出现在我的控件中。
这里有两个问题:
首先,您的全局样式需要出现在派生样式之前(在同一资源部分中,或者在尝试定义派生样式之前合并到适当的 ResourceDictionary 中)。
此外,您需要在按钮中显式定义样式:
<Button x:Name="btnOne"
Style="{StaticResource MyDerivedStyle}"
Content="Derived" />
请注意,在这种情况下,您没有创建动态资源(即需要重新加载的资源)。它是静态的,正如用于 BasedOn 的 Style 所需要的那样。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)