StatusBar的默认ForegroundColor取决于主题

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

如果我将我的应用程序中的RequestedTheme设置为Light并且SystemTheme为Dark,则StatusBar将显示为白色的ForegroundColor 。 我预计StatusBarForegroundColor取决于应用程序的RequestedTheme


到目前为止,改变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;
}
链接地址: http://www.djcxy.com/p/68021.html

上一篇: Default ForegroundColor of StatusBar depending on Theme

下一篇: What is Continuum Transition ExitElement and how do I use it?