一个有趣的问题,我想知道是否可以将Windows Phone 8中的应用程序栏按钮设置为在按下时使用当前强调色以外的其他颜色作为按钮的背景。我目前正在测试应用程序的代码隐藏中创建我的应用程序栏。有什么关于如何做到这一点的建议吗?我还没有在任何地方找到在线资源。本质上,我现在拥有的是一个非常简单的应用程序栏,用于测试目的。
主页.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);
}
如果将ApplicationBar的前景设置为#FFFEFEFE表示白色,#FF010101表示黑色,则ApplicationBarIconButton在按下时将不会使用AccentBrush,而是使用ApplicationBar定义的前景颜色!
我花了几个小时才找到这个问题的解决方案,但这是有道理的:微软使用白色(#FFFFFFFF)和黑色(#000000000)作为其明暗主题。在这种情况下,ApplicationBar使用AccentBrush,如果前景设置为不同的颜色,则使用定义的颜色。
所以你只需要添加以下行(白色):
ApplicationBar.Foreground = new SolidColorBrush(Color.FromArgb(255, 254, 254, 254));