StatusBar的默认ForegroundColor取决于主题

时间:2015-08-05 20:56:36

标签: windows-runtime windows-phone-8.1 winrt-xaml statusbar

我正在寻找 Light Dark 主题中ForegroundColor的默认StatusBar(或资源键)。我需要手动设置ForegroundColor,因为它似乎没有根据RequestedTheme进行更新。

如果我将我的应用中的RequestedTheme设置为 Light SystemTheme Dark ,则会显示StatusBar白色ForegroundColor。我预计ForegroundColor的{​​{1}}取决于应用的StatusBar

1 个答案:

答案 0 :(得分:0)

到目前为止,唯一已知的改变StatusBar颜色的方法是在C#中进行。不幸的是,没有XAML资源可以覆盖。 您可以像这样更改StatusBar颜色:

Windows.UI.ViewManagement.StatusBar.GetForCurrentView().ForegroundColor = Colors.Black;
Windows.UI.ViewManagement.StatusBar.GetForCurrentView().BackgroundColor = Colors.White;

Windows.UI.ViewManagement.StatusBar.GetForCurrentView()具有更多属性btw。

如果您希望能够根据请求的主题更改颜色,可以检查所请求的主题:

if( Application.Current.RequestedTheme == ApplicationTheme.Light )
{
    Windows.UI.ViewManagement.StatusBar.GetForCurrentView().ForegroundColor = Colors.Black;
    Windows.UI.ViewManagement.StatusBar.GetForCurrentView().BackgroundColor = Colors.White;
}