Windows runtime 如何更改Windows Universal应用程序中的标题栏颜色?

Windows runtime 如何更改Windows Universal应用程序中的标题栏颜色?,windows-runtime,windows-10,win-universal-app,uwp,Windows Runtime,Windows 10,Win Universal App,Uwp,我希望更改标题栏的颜色,以更好地适应我的应用程序,类似于在邮件应用程序中所做的。我该怎么做呢?您可以通过执行以下操作自定义标题栏的背景: var appView = Windows.UI.ViewManagement.ApplicationView.GetForCurrentView(); var titleBar = appView.TitleBar; titleBar.BackgroundColor = Colors.Black; 您可以通过更改“其他属性”中的颜色来更改标题栏的其他颜色,

我希望更改标题栏的颜色,以更好地适应我的应用程序,类似于在邮件应用程序中所做的。我该怎么做呢?

您可以通过执行以下操作自定义标题栏的背景:

var appView = Windows.UI.ViewManagement.ApplicationView.GetForCurrentView();
var titleBar = appView.TitleBar;
titleBar.BackgroundColor = Colors.Black;

您可以通过更改“其他属性”中的颜色来更改标题栏的其他颜色,如前景色或按钮颜色。

标题栏部分的背景色和前景色可以按如下方式更改。


请注意,这些更改是在应用程序显示后发生的,因此用户将看到颜色的更改。

您可以通过在标题栏中添加扩展视图来自定义按钮和标题文本。请查找此文件的代码段

private void ExtendViewOftitleBar()
{
        CoreApplication.GetCurrentView().TitleBar.ExtendViewIntoTitleBar = true;
        ApplicationView view = ApplicationView.GetForCurrentView();
        ApplicationViewTitleBar titleBar = view.TitleBar;
        view.SuppressSystemOverlays = true;
        titleBar.BackgroundColor = Windows.UI.Color.FromArgb(0, 0, 0, 0);
        titleBar.ForegroundColor = Windows.UI.Color.FromArgb(0, 0, 0, 0);
        titleBar.InactiveBackgroundColor = Windows.UI.Color.FromArgb(0, 0, 0, 0);
        titleBar.InactiveForegroundColor = Windows.UI.Color.FromArgb(0, 0, 0, 0);
        titleBar.ButtonBackgroundColor = Windows.UI.Color.FromArgb(0, 0, 0, 0);
        titleBar.ButtonHoverBackgroundColor = Windows.UI.Color.FromArgb(0, 0, 0, 0);
        titleBar.ButtonPressedBackgroundColor = Windows.UI.Color.FromArgb(0, 0, 0, 0);
        titleBar.ButtonInactiveBackgroundColor = Windows.UI.Color.FromArgb(0, 0, 0, 0);

}

它似乎没有改变Windows 10 mobile上状态栏的颜色。我必须为此做些不同的事情吗?不确定是否仍然需要,但是当您想要更改状态栏的颜色时,您需要添加额外的代码。首先查看您是否在移动家庭中:
if(Windows.System.Profile.AnalyticsInfo.VersionInfo.DeviceFamily==“Windows.Mobile”)
然后,抓取状态栏并设置ForegroundColor和BackgroundColo@Depechie不要对设备进行家庭检查;这是分析信息,而不是程序决策。要查看状态栏API是否可用(注意:状态栏可能存在于除了移动设备之外),请使用<代码> Windows .Fase.Meta。ApIdIng.IsTypePresent(“Windows .uI.VIEW管理。StassBar”)< /代码> @ RaymondChen Trand…直到最近才意识到API信息密钥:)
private void ExtendViewOftitleBar()
{
        CoreApplication.GetCurrentView().TitleBar.ExtendViewIntoTitleBar = true;
        ApplicationView view = ApplicationView.GetForCurrentView();
        ApplicationViewTitleBar titleBar = view.TitleBar;
        view.SuppressSystemOverlays = true;
        titleBar.BackgroundColor = Windows.UI.Color.FromArgb(0, 0, 0, 0);
        titleBar.ForegroundColor = Windows.UI.Color.FromArgb(0, 0, 0, 0);
        titleBar.InactiveBackgroundColor = Windows.UI.Color.FromArgb(0, 0, 0, 0);
        titleBar.InactiveForegroundColor = Windows.UI.Color.FromArgb(0, 0, 0, 0);
        titleBar.ButtonBackgroundColor = Windows.UI.Color.FromArgb(0, 0, 0, 0);
        titleBar.ButtonHoverBackgroundColor = Windows.UI.Color.FromArgb(0, 0, 0, 0);
        titleBar.ButtonPressedBackgroundColor = Windows.UI.Color.FromArgb(0, 0, 0, 0);
        titleBar.ButtonInactiveBackgroundColor = Windows.UI.Color.FromArgb(0, 0, 0, 0);