【发布时间】:2013-02-07 11:46:27
【问题描述】:
我正在开发一个 Windows 8 Metro(是的!)应用程序。如何提供依赖于屏幕分辨率的图像源?
根据these 指南,我们也可以使用图像命名约定来实现它。
我有一个如下所示的图像控件。
<Image Source="Assets/test.jpeg"/>
资产文件夹中还有 test.scale-100.jpg、test.scale-140.jpg 和 test.scale-180.jpg 图像。每张图片都有不同的图标颜色来识别加载的是哪张图片。
如果我在模拟器中运行应用程序并更改屏幕分辨率,我仍然会看到任何分辨率的 test.scale-100.jpg。为什么会这样?在哪种情况下操作系统会加载 test.scale-140.jpg 或 test.scale-180.jpg 图像?
编辑:我搞定了。一旦您的应用程序在模拟器中启动,请按主页按钮将其关闭并卸载它。在 VS 中,右键单击项目,然后单击部署。应用程序现在应该部署到模拟器。更改分辨率并启动应用程序。您现在应该看到操作系统加载的正确图像。冲洗并重复以测试其他分辨率。
【问题讨论】:
-
重新。你的编辑——你做的比你需要的要多。您只需要关闭应用程序,然后重新启动它。并不是说按下 Windows 键(根据您对我的回答的评论)不会关闭应用程序,而只是将焦点放在开始屏幕上。要关闭您的应用程序,请按 Alt-F4,或从屏幕顶部向下滑动到底部。正确关闭应用程序后,以不同的模拟器分辨率重新启动它就足以反映更改。
标签: xaml windows-8 microsoft-metro winrt-xaml