我正在将我的Windows 8.1
项目迁移到Windows 10
(通用Windows平台)。此时,我被ResourceDictionary
在UWP
中的变化所阻挡。
:我有两个项目的Windows 8.1解决方案:
App project (FooApp)+ Styles (FooStyles) project.
FooApp有参考的FooStyles,并在App.xaml
我有:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="ms-appx:///FooStyles/Brushes.xaml"/>
</ResourceDictionary.MergedDictionaries>
ms-appx
语法允许我访问来自其他项目的资源文件。现在在Windows 10应用程序中,这不再工作了。编译以以下错误结束:
"An error occurred while finding the resource dictionary "ms-appx:///FooStyles/Brushes.xaml"."
有什么建议吗?
p。S我不会将我的资源从FooStyles移动到FooApp,因为在我的解决方案中,FooStyles在其他5个应用程序项目之间共享。
在UWP中,您必须指定名称空间来实现这一点。此外,我发现XAML资源字典只有在属性部分标记为"Page"时才会以这种方式引用。
然后在你的应用程序xaml:<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="ms-appx:///Default.Namespace.External.Assembly/FolderPathOffRoot/Brushes.xaml"/>
</Application.Resources>
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
不要对ms-appx感到困惑,它指的是你的包,而不仅仅是包含应用程序的项目。