【发布时间】:2012-12-08 00:21:15
【问题描述】:
我认为这是一个非常普遍的问题,但我找不到适合我的解决方案。众所周知,WP 支持深色和浅色主题。用户可以更改主题,并且有一些方法可以覆盖他的决定并以您选择的颜色主题显示所有内容。但是,我只是想对这两种主题类型做出反应,我想以正确的颜色显示图标。
如果您使用应用程序栏,您可以从许多内置图标中进行选择,这些图标会自动从浅色变为深色,反之亦然。
为什么不支持普通图片?例如:我想显示一个电话图标。我从内置图标中选择了一个,并将其从 Microsoft SDK 文件夹复制到我项目的 Image 文件夹中。如果用户使用深色主题,一切都会好起来的,因为白色电话图标将在黑色背景上可见。但如果他切换到浅色主题,图标将不可见,因为它是白底白字。
我完全了解文本框或背景颜色的样式资源,它们使用手机的强调色或主题色。但为什么不支持我作为图像添加到 XAML 页面的简单图标?
当然,如果用户处于深色或浅色模式,我可以在页面的构造函数中检测到。然后我会加载黑色或白色版本的电话图标。但是每次我访问该页面时都会进行此检查并减慢一切。每次添加主题感知图像时,手动添加主题检查也很烦人。
是否有任何解决方案仅适用于 XAML?或者至少易于维护?为什么我不能从一开始就使用 SDK 中的内置图像?它们已经提供深色和浅色版本,并且已经在应用栏中使用。
【问题讨论】:
-
是的,我也看到过这个问题,但我想避免使用 opacityMask 的解决方案,并且必须定义每个按钮状态(如果我将图像用作可点击)
标签: windows-phone-7 windows-phone-8 windows-phone