在项目之间共享图像等资产的最佳方式

时间:2014-07-28 15:09:40

标签: c# xaml windows-runtime winrt-xaml

我想在多个WinRT项目之间分享一些资源,例如图标

使用WPF,这是一个明智的选择(差不多):

  • 为资产
  • 创建库项目
  • 将资产标记为资源,以将其嵌入到生成的程序集中
  • 从其他项目中引用资产项目
  • 使用有点奇怪的" "来引用XAML代码中的图标。 URI格式。

使用Windows运行时分享它们的最佳方式是什么?

是否有这样的资源嵌入和共享功能,或任何其他解决方案?

如果不是,我猜我可以将它们添加到每个项目中,使用"复制为链接"但我希望有一个干净的方式。

编辑:我开始像在WPF项目中那样天真地做这件事:

  • 我创建了一个新的图书馆项目"资产"并将图像添加到"内容"
  • 我从我的主项目中引用了这个项目

但我无法使用新的URI格式引用图像:

<Image Source="ms-resource://Assets/Files/Mushroom.png"></Image>

1 个答案:

答案 0 :(得分:3)

所以最后我得到了正确的结果。

以下是完整的流程:

  • 创建您的图书馆项目,添加您的图片并将其构建操作设置为“内容
  • 引用主项目中的库

要引用图像本身,您必须:

  • 使用“ms-appx”架构,而不是“ ms-resource ”,就像您在Google上找到的那样
  • 使用 /// 指定绝对路径 //

    &lt; Image Source =“ms-appx:///Assets/Mushroom.png”&gt;

最重要的是不信任Visual Studio设计器

  • 当你做对了它可能无法显示图像
  • 当你弄错了它可能会显示它(从之前的成功),但在运行时你什么也得不到!

希望这会有所帮助......