如何自定义UWP页面的应用程序标题栏

时间:2017-02-04 16:44:05

标签: c# uwp uwp-xaml

我正在尝试为UWP页面设置一个页面的应用程序标题栏,并且还禁用了恢复按钮,但我没有找到与此相关的任何内容。

我所能做的就是改变应用程序标题栏的颜色,如下面的代码

    public MainPage()
    {
        this.InitializeComponent();
        ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.FullScreen;
        ApplicationView.GetForCurrentView().Title = "TEST";
        ApplicationViewTitleBar titleBar = ApplicationView.GetForCurrentView().TitleBar;
        titleBar.ForegroundColor = Color.FromArgb(1, 1, 1, 1);

    }

但这就是我所能做的......同样,应用程序标题栏的标题也很奇怪,因为我将它设置为“TEST”但在UI上显示“ProjectName-TEST”。

那么,你知道我怎么能自定义(设置应用程序栏标题,不仅当用户将光标移动到页面顶部并禁用恢复按钮时,将其设置为可见(就像我可以拥有它一样)在Windows窗体中))UWP项目页面的应用程序标题栏?

1 个答案:

答案 0 :(得分:5)

目前无法禁用任何标题栏按钮(最小化,最大化等)。您可以关注some discussion about this on GitHub

除了此限制之外,您还可以将ExtendViewIntoTitleBarWindow.Current.SetTitleBar结合使用,从而大大自定义标题栏。总之,这些允许您在标题栏中使用自定义XAML:

CoreApplication.GetCurrentView().TitleBar.ExtendViewIntoTitleBar = true;
...
Window.Current.SetTitleBar(myTitleBar);

GitHub(由Microsoft创建)提供了一个很好的资源,展示了您可以自定义的内容:Title bar sample

  

该示例显示了以下技术:

     

自定义标准系统标题栏中的颜色。

     

将视图扩展到标题栏,以便绘制自定义标题栏。

     

响应标题栏状态的变化。

     

在标题栏中绘制控件(仅限XAML)。

以下是关于自定义标题栏的其他好教程:

Easily manage the Title Bar in Windows 10 apps

[UWP]Take the control of your title bar