WinUI XAML: 使用来自另一个项目的 ResourceDictionary
WinUI XAML: Using a ResourceDictionary from another project
在我的 WinUI 3 应用程序中,我试图使用位于另一个项目中的 ResourceDictionary。
假设引用的项目是 ResourceTestLib
,这个库项目有一个文件夹“Styles”,其中有一个文件“_Thickness.xaml”。
在主应用程序的 app.xaml
文件中,我在“此处的其他合并词典”评论下方尝试了这两种方法,但其中 none 似乎有效,即该应用程序崩溃以该消息“无法找到资源 ....”消息启动。
这是我的 app.xaml:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
<!-- Other merged dictionaries here -->
<ResourceDictionary Source="/ResourceTestLib;component/Styles/_Thickness.xaml"/>
<ResourceDictionary Source="pack://application:,,,/ResourceTestLib;component/Styles/_Thickness.xaml"></ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
当我将鼠标悬停在相应的行上时,Visual Studio 显示一个工具提示,其中包含第一个引用 ResourceDictionary
的“找不到路径 X”和“路径中的无效字符”(可能是因为“ application:,") 第二个消息。
我想 WinUI XAML 在这方面可能与 WPF XAML 不同?或者甚至还不支持这个?
包 URI 仅在 WPF 中使用。
UWP 和 Win UI 使用 ms-appx URI 方案来引用驻留在另一个程序集中的文件,所以试试这个:
<ResourceDictionary Source="ms-appx:///ResourceTestLib/Styles/_Thickness.xaml" />
有关 UWP 样式 URI 方案的更多信息:
https://docs.microsoft.com/en-us/windows/uwp/app-resources/uri-schemes
在我的 WinUI 3 应用程序中,我试图使用位于另一个项目中的 ResourceDictionary。
假设引用的项目是 ResourceTestLib
,这个库项目有一个文件夹“Styles”,其中有一个文件“_Thickness.xaml”。
在主应用程序的 app.xaml
文件中,我在“此处的其他合并词典”评论下方尝试了这两种方法,但其中 none 似乎有效,即该应用程序崩溃以该消息“无法找到资源 ....”消息启动。
这是我的 app.xaml:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
<!-- Other merged dictionaries here -->
<ResourceDictionary Source="/ResourceTestLib;component/Styles/_Thickness.xaml"/>
<ResourceDictionary Source="pack://application:,,,/ResourceTestLib;component/Styles/_Thickness.xaml"></ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
当我将鼠标悬停在相应的行上时,Visual Studio 显示一个工具提示,其中包含第一个引用 ResourceDictionary
的“找不到路径 X”和“路径中的无效字符”(可能是因为“ application:,") 第二个消息。
我想 WinUI XAML 在这方面可能与 WPF XAML 不同?或者甚至还不支持这个?
包 URI 仅在 WPF 中使用。
UWP 和 Win UI 使用 ms-appx URI 方案来引用驻留在另一个程序集中的文件,所以试试这个:
<ResourceDictionary Source="ms-appx:///ResourceTestLib/Styles/_Thickness.xaml" />
有关 UWP 样式 URI 方案的更多信息:
https://docs.microsoft.com/en-us/windows/uwp/app-resources/uri-schemes