【发布时间】:2013-06-24 22:24:05
【问题描述】:
Windows 应用商店应用不再将 xaml 文件编译到程序集中,而是将它们复制到调试/发布文件夹(构建操作:页面)。为了能够引用 xaml 文件,例如。在 ResourceDictionary 中,您必须使用 ms-appx 语法:
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="ms-appx:///{assemblyname}/{folder}/{xamlfile}.xaml" />
</ResourceDictionary.MergedDictionaries>
当使用 XAML 文件引用另一个程序集时,您应该有一个与该程序集同名的文件夹:
/referencefolder/some.assembly.dll
/referencefolder/some.assembly/subfolder/xamlfile
我之前在几个项目中使用过这个没有问题,但是在我的上一个项目中我无法让它工作。由于某些奇怪的原因,引用程序集中的 xaml 文件不会被复制到调试/发布文件夹中。由于没有复制文件,很明显我在资源字典合并时遇到了错误。
添加 Callisto nuget 包(还包含 Themes.xaml 文件)后,3 个个人程序集文件夹中有 2 个被复制过来。删除调试文件夹并重新构建让我回到第 1 步:没有文件被复制(甚至没有来自 Callisto 的文件)。
由于它只是对本地可用程序集的引用,我不知道哪里出错了。
【问题讨论】:
-
很好地比较了 xaml 文件的“构建操作”和“自定义工具”高级属性——在一个有效的项目中和一个无效的项目中。
标签: windows-8 windows-store-apps winrt-xaml