2013-08-28 39 views
3

一个有趣的问题是,我想知道是否可以将Windows Phone 8中的应用程序栏按钮设置为使用除当前重音颜色以外的其他颜色作为背景按下按钮。我目前在我的测试应用程序的代码后面创建我的应用程序栏。有什么建议如何做到这一点?我还没有在任何地方找到资源。基本上我现在所拥有的是用于测试目的的非常简单的应用栏。如何在按下时更改应用程序栏按钮的颜色

MainPage.xaml.cs中

private void BuildLocalizedApplicationBar() 
{ 
    // Set the page's ApplicationBar to a new instance of ApplicationBar. 
    ApplicationBar = new ApplicationBar(); 

    // Create a new button and set the text value to the localized string from AppResources. 
    ApplicationBarIconButton newButton = new ApplicationBarIconButton(new Uri("/Assets/AppBar/new.png", UriKind.Relative)); 
    newButton.Text = "new"; 
    newButton.Click += newButton_Click; 
    ApplicationBar.Buttons.Add(newButton); 
} 

回答

9

如果设置应用程序任务栏的前景色到像#FFFEFEFE为白色和#FF010101为黑色ApplicationBarIconButtons不会使用AccentBrush按下它们时,它们将使用定义ApplicationBar的前景色!

花了我几个小时才找到解决这个问题的方法,但它有一定意义:微软使用白色(#FFFFFFFF)和黑色(#00000000)来表现他们的黑暗与光明主题。在这种情况下,ApplicationBar使用AccentBrush,如果前景设置为不同的颜色,则使用定义的颜色。

所以你只需要添加以下行(白):

ApplicationBar.Foreground = new SolidColorBrush(Color.FromArgb(255, 254, 254, 254)); 
+0

有趣,但非常有帮助的。 – Matthew

+1

尊重这一点,我永远不会想到这一点。 –

+0

谢谢,非常有帮助。 –

相关问题