0

以下代码...

<!--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>

给了我以下ApplicationBar ...

http://s14.directupload.net/file/d/3341/4xiadbvz_jpg.htm (展开时为纯色背景)

但是如果我像这样在 CodeBehind 中创建 AppBar...

 private void ResetApplicationBar()
        {
            ApplicationBar = new ApplicationBar();
            ApplicationBar.BackgroundColor = Color.FromArgb(150, 0, 43, 85);;
            ApplicationBar.ForegroundColor = Colors.White;
            ApplicationBar.Opacity = 1;

            ApplicationBarIconButton B_Search = new ApplicationBarIconButton();
            B_Search.IconUri = new Uri("/Images/Pic_Search.png", UriKind.Relative);
            B_Search.Text = "search";
            ApplicationBar.Buttons.Add(B_Search);
            B_Search.Click += new EventHandler(B_Search_Click);

            (more Buttons...)

然后我得到那个misterios不变的透明度......

http://s1.directupload.net/file/d/3341/zjo57e37_jpg.htm (展开后半透明)

如何将背景更改为纯色???- 是的,我大部分都覆盖了主题 - 更改全局颜色不起作用 - 更改背景/前景不起作用 - 更改不透明度不起作用...

我需要从后面的代码生成它,因为我在一个窗口中动态更改它(或者是否可以在标记中定义多个 AppBars?)

提前致谢!

4

3 回答 3

0

请试试这个

ApplicationBar.BackgroundColor = Color.FromArgb(52,0,2,181);
ApplicationBar.ForegroundColor = Colors.White;

通过这种方式,您将在设计器页面中获得相同的颜色。

这个(52,0,2,181)是#002B55的转换值

于 2013-08-08T12:06:18.493 回答
0

在一个新项目上,一切似乎都很好,在这里。

"- changing background/foreground doesnt work 
 - changing opacity doesnt work..."

使用您在 XAML 中提供的应用程序栏示例,但是使用Opacity=0.5,我得到了:

您的 XAML AppBar 但使用 Opac

在我单击“更改颜色”按钮后ApplicationBar.Opacity = 1;,我得到了这个结果:

在此处输入图像描述

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

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

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

于 2013-08-08T14:06:17.480 回答
0

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

我找到了解决办法!!它非常简单:)

我只是使用旧栏而不是创建一个新栏:

//Old Code
    ApplicationBar = new ApplicationBar();

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

希望它可以帮助某人!

于 2013-08-09T06:14:55.633 回答