将图像的路径从“包含在应用程序中”更改为外部源时,它不起作用。为什么?

时间:2017-03-06 15:02:43

标签: c# xaml windows-8.1-universal

我们正在开发一个使用json告诉应用程序图像路径是什么的应用程序。运行后台更新程序以便下载json文件,然后从新的json文件中获取新的图像路径。

应用程序的流程如下:

  1. 应用启动,检查更新状态。
  2. 如果应用需要更新,请转到更新页面。
  3. 将新资产下载到目录中。
  4. 将包含原始资产的原始目录的名称更改为其他名称。
  5. 使用新资产将新目录的名称更改为原始目录的名称。
  6. 完成后,加载主应用程序。
  7. 出于某种原因,根本没有任何图像出现。我尝试使用不同的路径前缀,例如ms-appx:///../。我甚至尝试直接在xaml中设置路径,而不是使用数据绑定。有什么我想念的吗?

    编辑:更多信息 - 我在xaml中的图像对象上放置了一个“ImageFailed”事件。它每次都以“e”参数为“E_NETWORK_ERROR”失败。研究这个错误并没有给我太多帮助。

    编辑2:如果我放入EXACT路径,包括驱动器号和所有内容,它都可以。我不明白为什么。

    谢谢, 扎克

1 个答案:

答案 0 :(得分:0)

好的......需要大量挖掘,但显然对于Windows 8.1通用应用程序(我不了解其他Windows应用程序)ms-appx:///的使用是专门针对文件 内部< / em> 应用程序包,而ms-appdata:///的用法适用于app目录中的文件,如“local”,“temp”和“漫游”数据文件夹。

修复是将json中的所有ms-appx:///更改为ms-appdata///Local/,因为这些文件会下载到应用的本地文件夹中。

希望这有助于其他人不必像我一样深入挖掘。

扎克