1

有没有办法在多个应用程序中使用资源字典?我所拥有的是一个使用合并字典等的主题生成器......效果很好!我正在寻找一种方法来将此项目的资源字典引用到我的所有应用程序中。(因此,在我决定创建的每个 File>New 中都有我的主题引擎)到目前为止,我的研究让我一无所获。

4

1 回答 1

1

好的,所以我发现我可以使用 pack URI 语法从应用程序 A 中获取资源字典并在应用程序 B 中使用它们

首先我创建了一个类库并删除了默认的 class1.cs 然后我添加了一个新项目(没有 .xaml 文件的选项,所以我添加了一个 .xml 文件并更改了扩展名)然后将资源字典代码移动到该文件中。像引用其他任何 .dll 一样引用新的 .dll,现在我可以使用以下语法访问资源字典文件。

<ResourceDictionary Source = "pack://application:,,,/App_A;Component/App_A_ResourceDictionary.xaml"/>

交换文件时,其语法相同,只是省略了“pack://application,,”部分。虽然这不是我想要的一切(到目前为止),但它是我找到的最佳解决方案。

现在我想要的部分是能够在 .dll 中容纳交换逻辑。如果我能做到这一点……那么我的主题库可以对任何应用程序进行 PnP 操作,而无需大惊小怪。

于 2013-03-13T01:05:41.490 回答