加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

Windows Phone 8的Windows Phone 7自动暗/光图标支持

发布时间:2020-12-13 21:08:46 所属栏目:Windows 来源:网络整理
导读:我认为这是一个很常见的问题,但是我找不到合适的解决方案。众所周知,WP支持黑色和浅色的主题。用户可以改变主题,并有办法覆盖他的决定,并显示您选择的颜色主题中的所有内容。但是,我只是想对这两种主题类型做出反应,我想以正确的颜色显示图标。 如果您
我认为这是一个很常见的问题,但是我找不到合适的解决方案。众所周知,WP支持黑色和浅色的主题。用户可以改变主题,并有办法覆盖他的决定,并显示您选择的颜色主题中的所有内容。但是,我只是想对这两种主题类型做出反应,我想以正确的颜色显示图标。

如果您使用应用程序栏,您可以从许多内置图标中进行选择,这些图标将自动从浅到暗地反转,反之亦然。

为什么不支持正常的图像?例如:我想显示一个电话图标。我从内置的图标中选择了一个,并将其从Microsoft SDK文件夹复制到我的项目的Image文件夹。如果用户使用黑色主题,一切都会很好,因为白色电话图标将在黑色背景上显示。但是如果他切换到光的主题,这个图标将是隐形的,因为它是白色的白色。

我完全了解文本框或背景颜色的风格资源,使用手机的口音或主题颜色。但是为什么呢,我没有支持我添加到我的XAML页面的图像的简单图标?

当然,如果用户处于黑暗或浅色模式,我可以在页面的构造函数中进行检测。然后我将加载电话图标的黑色或白色版本。但是,每次访问页面时都会执行此检查,并减缓所有事情。每次添加主题感知图像时,手动添加主题的检查也很烦人。

是否有任何解决方案,只适用于XAML?还是至少容易维护?为什么从一开始就不能使用SDK中的内置图像?它们已经在黑暗和轻型版本中可用,并已在应用程序栏中使用。

如果您希望图标在动作栏中运行,只需要是白色(如果是黑色主题)和黑色(如果是浅色主题),则可以将图像作为不透明蒙版添加到矩形中,如下所示:
<Rectangle Fill="{StaticResource PhoneForegroundBrush}" Width="48" Height="48" >
    <Rectangle.OpacityMask>
        <ImageBrush ImageSource="/Images/my.icon.png" />
    </Rectangle.OpacityMask>
</Rectangle>

其中my.icon.png是一个白色图像,就像您可以选择的动作栏。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读