The problem with the SystemTray white foreground color in WindowsPhone

The other day I was designing a dark static theme for Windows Phone. As I know it will be a dark theme, no matter if the user selects light or dark theme, I wanted to make sure the SystemTray was visible at all times. In this case I sat the opacity to 0 so that the background would be completely transparent. Then foreground was set to the theme foreground like this (that happened to be an all white theme):

shell:SystemTray.IsVisible="True"
shell:SystemTray.Opacity="0"
shell:SystemTray.ForegroundColor="{StaticResource CustomForegroundColor}" 

All seem ok until I did what every solid developer should do, take a light day – Once a week you should set your phone to use a light theme to see what damage a poorly designed application can do to the users. Actually I never release a software without going through every screen with the white settings. Even if you use standard phone theme.

However, even if the CustomForegroundColor is correctly set to #FFFFFFFF the SystemTray went black as soon as I shifted to light them. So after a fun search and test session I stumbled upon the solution, actually it’s well documented in the MSDN documentation. As it happens you can’t set SystemTray to white, any other color will work but not white. So the solution, in this case, was to set the SystemTray to something close to white, like #FEFFFFFF.

This Post Has 4 Comments

  1. Thanks, this had been annoying me for a good while now…

  2. Thank you very much for this tip!!

  3. Thank you very much.

  4. Many thanks!

Leave a Reply

Close Menu