gpt4 book ai didi

c# - 控件库的 WPF 样式

转载 作者:行者123 更新时间:2023-11-30 20:54:12 25 4
gpt4 key购买 nike

我有一个库 ( Styles.DLL ),其中包含键控 WPF Styles 的集合.

我有一个类库 ( Module.DLL ),其中包含许多 WindowsUserControls可以在各种应用程序之间共享。我使用键控 StylesStyles.DLL 中定义创建隐式 Styles对于各种Controls用于这些WindowsUserControls例如ButtonComboBox .

然后我有一个应用程序 ( App.EXE ),我在其中使用 WindowsModule.DLL 中定义.我合并所需的 ResourceDictionaries来自 Styles.DLLApp.xamlApp.EXE .

一切正常。


我的问题是:如何从托管应用程序的 App.xaml 中删除字典合并并将其包含在 Module.DLL 中,而不必将字典合并到每个窗口的资源中?

我想我正在寻找类似 app.xaml 的东西文件,但对于类库...

最佳答案

我使用了一种清除当前词典并合并我想要的词典的方法。实际上,必须在方法调用时在内部设置“Clear”,这是一个示例:

    void AddResourceDictionary(string source)
{
ResourceDictionary resourceDictionary = Application.LoadComponent(new Uri(source, UriKind.RelativeOrAbsolute)) as ResourceDictionary;
Application.Current.Resources.MergedDictionaries.Add(resourceDictionary);
}

实现自定义主题/皮肤/资源:

        private void ThemeNameHere()
{
Application.Current.Resources.Clear();

AddResourceDictionary("Computar.Wpf;component/Style/MyStyle.xaml");
....

}

很有帮助!

关于c# - 控件库的 WPF 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19270018/

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