You can use something like this to set all the properties of your application tile, including the BackgroundColor property.
//REFERENCE: http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj207009(v=vs.105).aspx
// Set all the properties of the Application Tile.
private void SetApplicationTile()
{
// Application Tile is always the first Tile, even if it is not pinned to Start.
ShellTile TileToFind = ShellTile.ActiveTiles.First();
// Application should always be found
if (TileToFind != null)
{
IconicTileData TileData = new IconicTileData()
{
Title = "My App title",
WideContent1 = "New Wide Content 1",
WideContent2 = "New Wide Content 2",
WideContent3 = "New Wide Content 3",
//Count = 2,
//BackgroundColor = Colors.Blue,
//BackgroundColor = new Color { A = 255, R = 200, G = 148, B = 255 },
//BackgroundColor = Color.FromArgb(255, 200, 148, 55),
//BackgroundColor = (Color)Application.Current.Resources["PhoneAccentColor"],
BackgroundColor = HexToColor("#FF7A3B3F"),
IconImage = new Uri("Assets/Tiles/IconicTileMediumLarge.png", UriKind.Relative),
SmallIconImage = new Uri("Assets/Tiles/IconicTileSmall.png", UriKind.Relative),
};
// Update the Application Tile
TileToFind.Update(TileData);
}
}
public static Color HexToColor(string hex)
{
return Color.FromArgb(
Convert.ToByte(hex.Substring(1, 2), 16),
Convert.ToByte(hex.Substring(3, 2), 16),
Convert.ToByte(hex.Substring(5, 2), 16),
Convert.ToByte(hex.Substring(7, 2), 16)
);
}
IMPORTANT NOTE
If you do not set the A parameter of the BackgroundColor property to 255, your custom background color will not display, and the default theme color will display instead.
#RRGGBB. - Simon Má¶œKenzie