在Windows 8 Metro应用中包含资源文件

3
我正在将一个应用程序移植到Windows 8 Metro,它有许多资源文件(例如位图文件、XML文件、二进制文件),这些文件是运行所必需的。我该如何将这些文件包含在应用程序中,并如何从C++中访问它们?
谢谢。
1个回答

2
只需添加资源并将它们的“构建操作”设置为“content”。 之后,您可以直接在XAML中引用这些图像。
<Image Source="images/logo.png" />

并且在C#中

var uri = new Windows.Foundation.Uri('ms-appx:///images/logo.png');
var file = Windows.Storage.StorageFile.getFileFromApplicationUriAsync(uri);

更多>>


我对Windows 8 Metro不熟悉,请见谅。我想要能够打开和读取二进制文件。我将文件添加到项目的资源文件夹中,然后将其添加到项目中。我右键单击文件并将“内容”设置为“是”(请注意,此对话框与上面的对话框不同)。然后我尝试使用上面C++版本的代码访问该文件,但当我调用从'getFileFromApplicationuriAsync'调用返回的'file'上的'GetResults()'时,会抛出异常。是否有任何示例应用程序显示如何从应用程序资源中访问二进制文件?谢谢。 - John Gaby
你可能会在这组页面中找到它:http://msdn.microsoft.com/zh-cn/library/windows/apps/br211380.aspx - Anirudh Ramanathan
再次感谢您的建议。我之前看过那篇文章,现在又仔细翻了一遍,但是我还是不清楚它如何展示如何添加二进制资源文件并在应用程序中访问它们。我有什么遗漏吗? - John Gaby
仅仅是为了好玩,我尝试着简单地调用fopen("assets/myfile.bin", "rb"),结果它居然可以正常工作。这是一种合法的访问二进制文件的方式吗?我看了一些已安装的Metro应用程序,它们似乎有着复杂的文件结构。一旦我的应用程序被打包和安装,它是否会对所有这些文件具有读取权限?谢谢。 - John Gaby

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接