1

如果在 Windows 8/Metro/Store 应用程序中可能的话,我几乎必须找到一种方法来使用图像的相应信息填充图像框。我有一个数据库,其中包含存储在本地计算机上的图像的所有物理路径,例如:“c:\BookImages\spud.jpg”。现在,当我从数据库中提取有关图书信息的信息时,我还将获取图像的文件路径(“c:\BookImages\spud.jpg”)。我现在需要做的就是获取图像并将其显示在图像框中。但我不知道如何做到这一点,我已经研究了一段时间,并且我了解到除了 Windows 应用程序的实际安装目录之外,我无法选择文件。除非我使用 FileOpenPicker,这对于用户每次运行应用程序时选择包含图像的文件夹是没有用的。如果有人对我的问题有解决方案,请告诉我,我们将不胜感激。

4

2 回答 2

0

简短的回答是让用户选择一次文件夹并将 StorageFolder 保存在 Windows.Storage.AccessCache 中。

长答案是,所有这一切归结为将您的数据存储在一个可以通过编程访问的地方。

正如 Anobik 指出的那样,一种选择是使用您的 appdata 文件夹(您可以在其中开放访问)或类似图片库之类的东西,您可以在清单中给定功能的情况下访问它。这样你就不需要问用户了。

如果您使用文件选择器让用户为数据存储选择一个文件夹,则他或她已授予以编程方式访问该文件夹的权限,包括其包含的文件。 重要的是您必须跨会话保留该权限,这是 AccessCache 的目的。

将 StorageFolder 对象(和 StorageFile)视为路径名的抽象——除非您具有对该位置的固有编程访问权限,否则您永远不会真正想要保存路径名字符串。这不适用于文件选择器中的内容,因此您必须使用 AccessCache 来实质上保存文件夹引用及其权限。

Kraig Brockschmidt 作者,使用 HTML、CSS 和 JavaScript 编程 Windows 8 应用程序,来自 Microsoft Press 的免费电子书(另见第二版预览

于 2013-09-13T15:57:42.343 回答
0

请参阅如果所有目录都被授予了 win rt 应用程序的访问权限,那么这将是一个安全风险所以一些特定的文件夹可用尝试在其中存储用户数据。之后,只有文件选择器可以提供帮助。

这是链接

winrt的文件夹

它是 Microsoft 的政策,因此请相应地设计应用程序。您可能需要在应用清单文件中为某些文件夹设置功能。请通过它:)

于 2013-09-13T11:39:56.817 回答