How to change color of the Application Bar in Windows Phone?

application-bar, c#, windows-phone-7, windows-phone-8

Solution

Two ways, either in the XAML:

<phone:PhoneApplicationPage.ApplicationBar>
    <shell:ApplicationBar BackgroundColor="White" ForegroundColor="Black">
        <shell:ApplicationBar.Buttons>
            <shell:ApplicationBarIconButton Text="A button" IconUri="/Assets/AppBar/new.png" />
        </shell:ApplicationBar.Buttons>
    </shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>

Or in the code behind:

using System.Windows.Media;
...
ApplicationBar.ForegroundColor = Colors.Black; // Icon and text color
ApplicationBar.BackgroundColor = Colors.White; // Application bar background color

Essentially the `BackgroundColor` sets the background color of the application bar and `ForegroundColor` sets the icon and text color. Setting those will keep the value regardless of theme settings.

You don't need to set the `opacity`, as the default value is 1 (full opaque).

Problem

In my app, I want to have the color of the application bar be white and full opaque, with no regards to the theme. So far I have experimented with this. ``` ApplicationBar.Opacity = 1; ApplicationBar.BackgroundColor = Color.FromArgb(52, 50, 2, 181); ``` The result was a light pink color with some transparency. Also, I would like to keep the same theme colored (light theme) icon buttons even if the theme is dark. I have seen apps in the WP Store (mainly Skype) that do that. Answers gladly appreciated.

Original source