如何在UWP应用中隐藏/折叠标题栏?

11
有没有办法在UWP应用程序中隐藏/折叠/暂时使标题栏不可见(但不完全禁用)?
我知道可以使应用程序全屏,此后标题栏会自动折叠,但我需要在可调整大小的桌面窗口中实现它。 我也知道可以自定义标题栏的外观,如颜色等。
原因:我有一个有很多窗口的应用程序,需要节省屏幕空间并为窗口的客户区提供更多空间。
我已经阅读了不同的来源,但找不到答案:

例如,对于WPF中的相同问题似乎有一个解决方案:如何从窗口中删除标题栏但保留边框


没有,我想这是有充分的理由的 ;) - sibbl
有什么好的理由呢?实际上,在全屏模式下,标题栏已经是可折叠的。为什么不在“可调整大小的窗口”模式下也以同样的方式使其可折叠呢? - Bad
如果它已经折叠了,怎么可能会展开呢?一个很好的理由可能是它是一个很少使用/请求的功能,因此没有被列入优先列表。 - Matt Lacey
1
@Matt Lacey:例如,在鼠标指向窗口右上角时(同时仍然保持按照“ExtendViewIntoTitleBar=true”模式,通过拖动窗口来移动的功能),它可能会被折叠起来,或者在窗口边界处有一条小粗线(或其他任何方便的小控制),点击后可以展开标题栏。 - Bad
1个回答

31

最后,我应该说,为了获得额外的屏幕空间(我需要),可以将客户区域扩展到标题栏并使最小化、最大化和关闭三个按钮的背景颜色透明:

标准标题栏:

进入图像描述

扩展视图和透明按钮背景:

ApplicationViewTitleBar formattableTitleBar = ApplicationView.GetForCurrentView().TitleBar;
formattableTitleBar.ButtonBackgroundColor = Colors.Transparent;
CoreApplicationViewTitleBar coreTitleBar = CoreApplication.GetCurrentView().TitleBar;
coreTitleBar.ExtendViewIntoTitleBar = true;

输入图像描述


我将代码放在OnLoaded方法中,它可以工作。有更好的位置吗? - dwaz
如果您使用像答案一样的深色背景,请确保添加以下内容来更改按钮颜色,使其比上图更容易看到...formattableTitleBar.ButtonForegroundColor = Colors.White; - scottpetrovic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接