gpt4 book ai didi

c# - 如何在代码隐藏中将样式添加到 ResourceDictionary

转载 作者:太空宇宙 更新时间:2023-11-03 23:21:25 43 4
gpt4 key购买 nike

我有一个名为 MyButton.xaml 的 ResourceDictionary,其中定义了 x:Type ButtonBase 的样式。

我知道如何使用此 ResourceDictionary 以在 XAML 中定义样式。

<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://Application:,,,/Theme;component/MyButton.xaml"/>
</ResourceDictionary.MergedDictionaries>
<Style TargetType="Button" BasedOn="{StaticResource {x:Type ButtonBase}}"/>
</ResourceDictionary>
</Window.Resources>

我想在代码隐藏中做同样的事情。现在我可以写了

var source = new Uri("Theme;component/MyButton.xaml", UriKind.Relative);
Resources.MergedDictionaries.Add(new ResourceDictionary {Source = source});
var buttonBaseStyle = TryFindResource(typeof (ButtonBase)) as Style;

但是,我不明白如何将此 buttonBaseStyle 应用到窗口中的所有按钮(即将其用作按钮的默认样式)。谁能告诉我怎么做?

最佳答案

您可以像这样在代码隐藏中添加默认样式:

Style btnBaseStyle = TryFindResource(typeof(ButtonBase)) as Style; 

Style s = new Style(typeof(Button), btnBaseStyle);

Resources[typeof (Button)] = s;

关于c# - 如何在代码隐藏中将样式添加到 ResourceDictionary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35315782/

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