【发布时间】:2011-07-11 12:29:38
【问题描述】:
根据这个MSDN page,如果我使用的是Window,那么我可以通过将左上角的控制框设置为false来禁用它。像这样:this.ControlBox = false;
控制框有最大化、最小化、恢复和关闭选项
但由于我使用的是 RibbonWindow 而不是 Window,在这种情况下如何禁用控制框?
This question 非常相关,但我一直希望禁用 SystemMenu,而不仅仅是为了阻止 Alt+Space。这是因为(我认为)左上角 SystemMenu 的操作侦听器阻止了我的 XAML 中的可点击 UI 元素。
我应该注意,这不是 Windows Server 2003 的问题,但是当应用程序在 Windows 7 中打开时,SystemMenu/ControlBox 会干扰左上角的 UI 元素。
此外,我发现干扰系统菜单通常会导致应用程序右上角的按钮被停用,但我不希望这种情况发生。
感谢link Eammonn。我认为那个人试图做的是禁用右上角的 [X] 按钮,而不是左上角的菜单,但我可能是错的。我认为它不起作用的原因是他们使用的是<Window x:Class=,而我使用的是<dc:RibbonWindow x:Class=。这有什么不同吗?
【问题讨论】:
-
RibbonWindow 来自哪里(我知道至少有 2 个不同的库提供此功能,只是想知道您使用的是哪一个)。
-
Microsoft.Windows.Control.Ribbon.RibbonWindow
-
Eamonn 的回答也应该适用于 RibbonWindow,因为它只是 Window 的扩展。 Office 2010 重新引入了控制框(带有图标)。 Office 2007 已将其隐藏,以支持球体。这会干扰球体或快速访问工具栏吗?
-
是的,我相信是的。问题是当用户在某个地方点击球体时,会弹出快速访问工具栏。
标签: c# .net wpf visual-studio xaml