gpt4 book ai didi

c# - 基于动态资源的样式

转载 作者:行者123 更新时间:2023-11-30 14:41:48 27 4
gpt4 key购买 nike

好像这样的事情是不允许的。任何解决方法?

  <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 的样式需要是静态的。

关于c# - 基于动态资源的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3772116/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com