Windows phone 8 Windows Phone 8应用程序栏扩展的不可更改透明度

Windows phone 8 Windows Phone 8应用程序栏扩展的不可更改透明度,windows-phone-8,transparent,appbar,Windows Phone 8,Transparent,Appbar,下面的代码 <!--Navigation-Bar--> <phone:PhoneApplicationPage.ApplicationBar> <shell:ApplicationBar IsVisible="True" ForegroundColor="White" IsMenuEnabled="True" BackgroundColor="#002B55"> <shell:ApplicationBarIconButton Cl

下面的代码

<!--Navigation-Bar-->
<phone:PhoneApplicationPage.ApplicationBar>
    <shell:ApplicationBar IsVisible="True" ForegroundColor="White" IsMenuEnabled="True" BackgroundColor="#002B55">
        <shell:ApplicationBarIconButton Click="B_Search_Click" IconUri="Images\Pic_Search.png" Text="Search"/>
        <shell:ApplicationBarIconButton Click="B_Media_Click" IconUri="Images\Pic_Media.png" Text="Media"/>
        <shell:ApplicationBarIconButton Click="B_Scan_Click" IconUri="Images\Pic_Scan.png" Text="Scanner"/>
        <shell:ApplicationBarIconButton Click="B_Charts_Click" IconUri="Images\Pic_Charts.png" Text="Charts"/>
        <shell:ApplicationBar.MenuItems>
            <shell:ApplicationBarMenuItem Click="B_Logout_Click" Text="Logout"/>
        </shell:ApplicationBar.MenuItems>
    </shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>
然后我得到了不可改变的透明度

(展开时为半透明)

如何将背景更改为实心??? -是的,我基本上覆盖了主题 -更改全局颜色不起作用 -更改背景/前景不起作用 -更改不透明度不起作用

我需要从代码隐藏中生成它,因为我在一个窗口中动态地更改它 (或者可以在标记中定义多个AppBar吗?)

提前谢谢

请试试这个

ApplicationBar.BackgroundColor = Color.FromArgb(52,0,2,181);
ApplicationBar.ForegroundColor = Colors.White;
通过这种方式,您将在designer页面中获得相同的颜色


这(52,0,2181)是一个新项目的#002B55

的转换值,在这里,一切似乎都很好

"- changing background/foreground doesnt work 
 - changing opacity doesnt work..."
使用您在XAML中提供的应用程序条示例,但使用
Opacity=0.5
,我得到以下结果:

单击“更改颜色”按钮后,该按钮不执行
ApplicationBar.Opacity=1,我得到以下结果:

(背景图像稍微向上移动,因为在第一种情况下,我们提供了不透明度,而在第二种情况下,没有明确指定,并且应用程序栏似乎没有在图像上分层,但要解决这个问题,您可以设置
不透明度=0.999
,接近1)

它一定与您所做的所有主题覆盖或您尝试的某些自定义有关


如果这不是很有帮助,请提供更多详细信息,我会尽力帮助您。

非常感谢您的努力,但是将不透明度更改为0.999也没有帮助

我找到了解决办法!!而且很简单:)

我只是选择旧酒吧,而不是创建新酒吧:

//Old Code
    ApplicationBar = new ApplicationBar();

//New Code
    ApplicationBar.Buttons.Clear();
    ApplicationBar.MenuItems.Clear();

希望它能帮助别人

这就是我的助手类实际做的,对不起,我忘了为帖子更改它。我现在改了。所以问题仍然存在…非常感谢你们的努力!这也没用,但我现在找到了解决办法!我只是不创建applicationbar的新对象,而是使用当前的“this.applicationbar”:)Tommorow我将发布当前已锁定的解决方案
//Old Code
    ApplicationBar = new ApplicationBar();

//New Code
    ApplicationBar.Buttons.Clear();
    ApplicationBar.MenuItems.Clear();