我正在编写一个WP8应用程序,它会覆盖手机上的颜色主题,始终为白色。现在,在人们诋毁我做出这个决定之前,应用程序本身应该是一个像应用程序这样的信使,而白色背景只会让一切变得更容易阅读。将来我想让人们能够选择黑色或白色,以防电池寿命很重要,但我需要先克服这个障碍。
目前的问题是,即使在覆盖主题颜色后,应用栏仍然拒绝改变颜色BEHIND。我不是在谈论应用程序栏的背景颜色,而是在应用程序栏后面绘制的矩形,因为它是从屏幕底部向上弹出的动画。这是非常明显的,即使只出现一秒钟也很安静。
我知道必须有办法做到这一点,因为Office,Google Mail和Skype等应用程序都会覆盖颜色主题并改为实现白色主题,而且他们没有同样的问题。
如果有人能提供帮助那就太棒了!
答案 0 :(得分:1)
我找到了一个解决方案,但这不是一个很好的解决方案。如果有人找到更好的解决方案,请告诉我。
我通过将应用程序栏的不透明度设置为接近1但不是1来解决了这个问题(我将其设置为0.99)。这将告诉窗口不要重新缩放窗口(这是黑色背景的原因)。
然后我将该页面的下边距设置为应用程序栏的高度。
以下是感兴趣的人的代码:
private void panoramaMain_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
Panorama p = (Panorama) sender;
if(p.SelectedIndex == 1) {
messageList.Margin = new Thickness(0, 0, 0, ApplicationBar.DefaultSize);
ApplicationBar.IsVisible = true;
} else {
messageList.Margin = new Thickness(0, 0, 0, 0);
ApplicationBar.IsVisible = false;
}
}