WP8更改应用程序栏后面的颜色

时间:2013-07-15 18:32:29

标签: c# user-interface windows-phone-8

我正在编写一个WP8应用程序,它会覆盖手机上的颜色主题,始终为白色。现在,在人们诋毁我做出这个决定之前,应用程序本身应该是一个像应用程序这样的信使,而白色背景只会让一切变得更容易阅读。将来我想让人们能够选择黑色或白色,以防电池寿命很重要,但我需要先克服这个障碍。

目前的问题是,即使在覆盖主题颜色后,应用栏仍然拒绝改变颜色BEHIND。我不是在谈论应用程序栏的背景颜色,而是在应用程序栏后面绘制的矩形,因为它是从屏幕底部向上弹出的动画。这是非常明显的,即使只出现一秒钟也很安静。

我知道必须有办法做到这一点,因为Office,Google Mail和Skype等应用程序都会覆盖颜色主题并改为实现白色主题,而且他们没有同样的问题。

如果有人能提供帮助那就太棒了!

1 个答案:

答案 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;
    }
 }