gpt4 book ai didi

wpf - WPF 控件库中的 ResourceDictionary

转载 作者:行者123 更新时间:2023-12-04 07:06:51 27 4
gpt4 key购买 nike

我们正在创建一个办公功能区,它打开一个 WPF 窗口,该窗口存储在另一个 WPF 控件库项目中。
该 WPF 窗口附加了一些主题,这些主题存储在单独项目中编译的 ResourceDictionary 中。

然而,当我们加载 WPF 窗口时,ResourceDictionary 中的所有主题都丢失了。

我们可以通过手动/强制窗口本身的主题来解决这个问题,但这似乎是一个糟糕的解决方案。所以我的问题是:如何从 Office Addin 应用程序加载新 WPF 窗口的主题?

Uri uri = new Uri("/Nov.Presentation.RigDoc.WpfResources;component/Shared.xaml", UriKind.Relative);
Resources.MergedDictionaries.Add(Application.LoadComponent(uri) as ResourceDictionary);

最佳答案

我刚刚在 Office 2010 上尝试了这个(实际上使用的是 2007 VSTO 插件,但在 2010 年运行它)并且它运行良好。
我在 VSTO 项目中引用了一个外部项目的库,我在控件中使用以下 xaml 来链接资源字典。

<UserControl.Resources>
<ResourceDictionary>

<!-- Link in th general styles -->
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/MyAssemblyName;component/MyResourceDictionaryName.xaml" />
</ResourceDictionary.MergedDictionaries>

<!-- Other style... -->

</ResourceDictionary>

</UserControl.Resources>

否则我可以认为这是一个问题,你的样式被一些后来显式或隐式链接的样式覆盖。如果它找不到您引用的程序集,它应该抛出一个示例,因此问题不应该在其中。

关于wpf - WPF 控件库中的 ResourceDictionary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1000875/

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