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

Clo*_*ock 3 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);

    }
Run Code Online (Sandbox Code Playgroud)

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

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

Mik*_*nen 5

目前,无法禁用任何标题栏按钮(最小化,最大化等).有关于这个GitHub上的一些讨论,你可以遵循.

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

CoreApplication.GetCurrentView().TitleBar.ExtendViewIntoTitleBar = true;
...
Window.Current.SetTitleBar(myTitleBar);
Run Code Online (Sandbox Code Playgroud)

GitHub上有一个很好的资源(由微软创建),它显示了你可以自定义的东西:标题栏示例

该示例显示了以下技术:

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

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

响应标题栏状态的变化.

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

这里有几个关于自定义标题栏的好教程:

轻松管理Windows 10应用程序中的标题栏

[UWP]控制标题栏

  • 这些文件太可怕了 (2认同)