WinUI3自定义标题栏后无法隐藏最大化、最小化按钮的解决咨询
解决自定义标题栏后无法隐藏最大化/最小化按钮的问题
当你开启ExtendsContentIntoTitleBar = true启用自定义标题栏后,原窗口的IsMaximizable和IsMinimizable属性会失效——这是因为此时系统标题栏的控制权已转移到AppWindow.TitleBar对象上,需要直接操作该对象的按钮可见性属性来实现隐藏:
WinUI 3 场景解决方案
- 获取当前窗口对应的
AppWindow实例 - 设置
AppWindow.TitleBar.IsMaximizeButtonVisible和IsMinimizeButtonVisible为false
代码示例
public MainWindow() { this.InitializeComponent(); // 开启自定义标题栏 this.ExtendsContentIntoTitleBar = true; // 获取当前窗口的AppWindow实例 var appWindow = Microsoft.UI.Xaml.WindowExtensions.GetAppWindow(this); // 隐藏最大化、最小化按钮 appWindow.TitleBar.IsMaximizeButtonVisible = false; appWindow.TitleBar.IsMinimizeButtonVisible = false; }
WPF 场景解决方案
如果使用的是WPF的Window.ExtendContentIntoTitleBar属性,则需要通过WindowChrome来控制:
- 禁用系统默认标题栏的按钮区域
- 隐藏系统标题栏的显示空间
代码示例
public MainWindow() { InitializeComponent(); // 开启自定义标题栏 this.ExtendContentIntoTitleBar = true; var chrome = new System.Windows.Shell.WindowChrome(); chrome.GlassFrameThickness = new Thickness(0); chrome.CaptionHeight = 0; // 彻底隐藏系统标题栏区域 System.Windows.Shell.WindowChrome.SetWindowChrome(this, chrome); }
内容的提问来源于stack exchange,提问作者Hoka Biu
相关产品推荐
相关产品推荐

