c# - 在项目之间共享图像等 Assets 的最佳方式

标签 c# xaml windows-runtime winrt-xaml

我想在多个 WinRT 项目之间共享一些 Assets ,例如图标

对于 WPF,这很简单(差不多):

  • 为 Assets 创建一个库项目
  • 将 Assets 标记为资源以将它们嵌入到生成的程序集中
  • 从其他项目中引用 Assets 项目
  • 使用有点奇怪的“pack”URI 格式从 XAML 代码引用图标。

与 Windows 运行时共享它们的最佳方式是什么?

有没有这样的资源嵌入和共享能力,或者其他解决方案?

如果没有,我想我可以使用“复制为链接”将它们添加到每个项目中,但我希望有一个干净的方法。

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

  • 我创建了一个新的库项目“Assets”并将图像添加到里面作为“Content”
  • 我从我的主要项目中引用了这个项目

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

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

最佳答案

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

完整流程如下:

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

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

  • 使用“ms-appx”架构,而不是您可能在 Google 上找到的“ms-resource
  • ///而不是//

    指定绝对路径

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

  • 如果设置正确,它可能不会显示图像
  • 当你弄错时,它可能会显示它(来自以前的成功),但在运行时你什么也得不到!

希望这有助于...

关于c# - 在项目之间共享图像等 Assets 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24998312/

相关文章:

c# - 反射扩展法

c# - 流套接字错误处理 winRT

c# - 异步方法的 Web api 返回值

c# - 为什么我的方法声明会产生不一致的可访问性错误?

c# - 从 Shape 派生的 WPF 自定义形状类

c# - UserControl 与模型的绑定(bind) - "property not found"

windows - Windows 8 商店应用程序设置栏中的按钮样式

windows-8 - FluidMoveBehavior 可用吗?

c# - 将 HttpClient 类与 WinRT 结合使用

windows-runtime - 通用应用程序二维码扫描仪?