【发布时间】:2022-01-09 20:56:15
【问题描述】:
在我的 WinUI 3 应用程序中,我尝试使用位于另一个项目中的 ResourceDictionary。
假设引用的项目是ResourceTestLib,这个库项目有一个文件夹“Styles”,其中有一个文件“_Thickness.xaml”。
在主应用程序的app.xaml 文件中,我在“此处的其他合并字典”注释下方尝试了这两种方法,但它们似乎都不起作用,即应用程序在启动时崩溃并显示“无法找到资源”消息....”消息。
这是我的 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”和“路径中的无效字符”(可能是因为“应用程序:,,”)第二个消息。
我认为 WinUI XAML 在这方面可能与 WPF XAML 不同?甚至还不支持?
【问题讨论】:
-
Windows 应用 SDK 具有类似 UWP 的 XAML 而不是类似 WPF。然后使用“uwp”关键字找到问题的解决方案。这可能会有所帮助stackoverflow.com/q/44509715/12888024
-
谢谢,相关帖子中的这种语法有效:Source="ms-appx:///ClassLibrary1/Styles/Custom.xaml"
标签: c# xaml uwp-xaml winui-3 windows-app-sdk