【问题标题】:WinUI Using Merged Dictionary from a DLLWinUI 使用 DLL 中的合并字典
【发布时间】:2021-06-25 11:27:36
【问题描述】:

我有这个要求,我需要访问在我的项目中的 DLL 中定义的资源字典作为合并字典。整个项目设置为 C++/WinRT xaml 托管的 MFC 应用程序。并且所需的 ResourceDictionary 是另一个 dll 的一部分。

<ResourceDictionary.MergedDictionaries> 
   <ResourceDictionary Source="PathToDict/CommonDictionary.xaml"/>
</ResourceDictionary.MergedDictionaries>

如 Source 属性中所示,CommonDictionary.xaml 作为另一个项目二进制 (dll) 的一部分存在,我需要通过指定该文件的路径将该文件合并到我的项目中。 我已经尝试过类似的方法,尽管这只适用于 WPF;

<ResourceDictionary Source="pack://application:,,,/myNameSpace;component/CommonDictionary.xaml"/>

并且在添加对项目的引用后也尝试过这个;

<ResourceDictionary Source="ms-appx:///MyNamespace/CommonDictionary.xaml"/>

这些似乎都不起作用。

【问题讨论】:

    标签: winrt-xaml c++-winrt winui


    【解决方案1】:

    如果您的文件在项目目录中,请尝试使用

    <ResourceDictionary Source="ms-appx:///CommonDictionary.xaml"/>
    

    通常,您可以打开任何 Page.g.i.cs 文件并查看任何带有 Uri 定义的字符串。例如:

    global::System.Uri resourceLocator = new global::System.Uri("ms-appx:///View/Page.xaml");
    

    【讨论】:

      猜你喜欢
      • 2014-09-23
      • 2014-03-05
      • 2016-10-01
      • 2015-01-28
      • 1970-01-01
      • 2010-12-28
      • 1970-01-01
      • 2017-08-03
      • 1970-01-01
      相关资源
      最近更新 更多