我可以确定标题栏在UWP应用中的显示方式吗?

时间:2016-06-29 22:19:51

标签: xaml uwp

我想给标题栏提供应用程序风格的外观和感觉。我使用XAML和C#编写这个UWP应用程序。

2 个答案:

答案 0 :(得分:2)

您可以使用以下内容执行此操作(通常在应用启动时):

var view = ApplicationView.GetForCurrentView();

view.TitleBar.BackgroundColor = ;
view.TitleBar.ForegroundColor = ;

view.TitleBar.ButtonBackgroundColor = ;
view.TitleBar.ButtonForegroundColor = ;

view.TitleBar.ButtonHoverBackgroundColor = Colors.Green;
view.TitleBar.ButtonHoverForegroundColor = Colors.White;

view.TitleBar.ButtonPressedBackgroundColor = ;
view.TitleBar.ButtonPressedForegroundColor = ;

view.TitleBar.ButtonInactiveBackgroundColor = ;
view.TitleBar.ButtonInactiveForegroundColor = ;

view.TitleBar.InactiveBackgroundColor = ;
view.TitleBar.InactiveForegroundColor = ;

额外奖金 如果您想将应用的UI扩展到TitleBar,这也是可能的。 This blog post有一个很好的例子,这是一个总结:

CoreApplicationViewTitleBar coreTitleBar = CoreApplication.GetCurrentView().TitleBar;
coreTitleBar.ExtendViewIntoTitleBar = true;

答案 1 :(得分:1)

Lance McCarthy的回答仅适用于桌面 他的代码将在Mobile上运行,但没有异常,但实际上并没有改变StatusBar,所以你不会在那里看到任何效果。
对于移动设备,您需要使用" Windows Mobile Extensions for UWP"从nuget那么你也可以在手机上更改StatusBar:

if (ApiInformation.IsTypePresent("Windows.UI.ViewManagement.StatusBar"))
{
   var statusBar = StatusBar.GetForCurrentView();
   if (statusBar != null)
   {
      statusBar.BackgroundColor = Color.FromArgb(255, 81, 81, 81); // light gray color
   }
}