none
这是SystemTray的bug吗? RRS feed

  • 问题

  • 是这样的,我在程序里指定了SystemTray的背景色和前景色:

    
    shell:SystemTray.IsVisible="True" shell:SystemTray.BackgroundColor="Black" shell:SystemTray.ForegroundColor="White"

    可我发现当程序运行在深色主题下,托盘的背景色是黑色,前景色是白色,

    但当程序运行在浅色主题下(即在“设置”-“主题”下更改为浅色主题),托盘背景是黑色,前景色也是黑色,这样的话,托盘上的文字(时间,电池电量)就显示不出来了,

    我把代码更改成这样:

    shell:SystemTray.IsVisible="True" shell:SystemTray.BackgroundColor="Black" shell:SystemTray.ForegroundColor="#FFFFFFFF"

    还是不行!!

    无奈之下我只能将 #FFFFFFFF 更改为#FFFFFFFE 才能在浅色主题下显示白色文字,

    但总是觉得很别扭,为什么前景色指定白色就随系统主题变化?那这样我就没法给前景色指定一个“纯白”了?


    2012年4月19日 4:30

答案

全部回复

  • 你好,

    如果你想让SystemTray的背景色和前景色自动随着主体变化的话,可以省略BackGroundColor和ForeGroundColor设置,这样的话当浅色主题是就会变为白底黑字,深色主题是黑底白字。

    如果非要设定背景或者前景颜色的话,不建议使用和白色或黑色相近的颜色。

    2012年4月20日 5:15
  • 多谢您的回复,

    我想要实现的,跟你所说的恰恰相反:我不想让托盘的配色随系统主题变化而变化,我想让托盘背景色永远为黑色,前景色永远为白色,

    但我发现如果把背景色设置为黑色,前景色设置为“纯白色”,那么在“深色”主题下,是“黑底白字”,但在“浅色”主题下,是“黑底黑字”

    我不知道微软这样设计是出于什么考虑?或者是个bug?

    2012年4月20日 8:09
  • 你好,

    之前确实误解了,这回理解你的意思了。

    我已经递交到Microsoft Connect的网站了,你可以通过以下网址访问,并且加到你的监视列表中以随时邮件相关的回复。

    https://connect.microsoft.com/VisualStudio/feedback/details/737854/windows-phone-forum-systemtray-background-color-changes-unexpected

    • 已标记为答案 jesse hao 2012年4月24日 7:00
    2012年4月20日 8:29