【问题标题】:using a resource dictionary in multiple applications在多个应用程序中使用资源字典
【发布时间】:2013-03-10 04:19:04
【问题描述】:

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

【问题讨论】:

  • 只将项目添加到您制作的每个新应用程序中是否太麻烦?
  • 这是一种解决方案,但我正在寻找(如果存在)更多的 .dll 方法。你知道的,只要指向 .dll,引用命名空间,让你煨一下!这是我的主题生成器:-)
  • 好吧,您可以添加对主题生成器的 DLL 的引用。
  • 那么你如何访问App.xaml文件中的ResoureDictionaries并将其推送到主项目App.xaml

标签: wpf dll resourcedictionary


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 2017-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多