根据这个MSDN页面,如果我使用的是窗口,那么我可以通过将其设置为false来禁用左上角的控制框。像这样:this.ControlBox = false;
ControlBox具有最大化、最小化、恢复和关闭选项

但是,由于我使用的是RibbonWindow而不是窗口,在这种情况下如何禁用控制框?
这个问题是非常相关的,但我希望始终禁用SystemMenu,而不仅仅是为了防止Alt+Space。这是因为(我认为)左上角的SystemMenu的动作侦听器会在我的XAML中阻塞一个可点击的UI元素。
我应该注意,这不是Windows Server 2003的问题,但是当应用程序在Windows 7中打开时,SystemMenu/ControlBox会干扰左上角的UI元素。
此外,我发现干扰系统菜单通常会导致应用程序右上角的按钮被禁用,但我不希望这种情况发生。
感谢http://winsharp93.wordpress.com/2009/07/21/wpf-hide-the-window-buttons-minimize-restore-and-close-and-the-icon-of-a-window/ Eammonn节目。我认为那个人想要做的是禁用右上角的X按钮,而不是左上角的菜单,但我可能错了。我不认为它会起作用的原因是他们使用的是<Window x:Class=,而我使用的是<dc:RibbonWindow x:Class=__。这有什么区别吗?
发布于 2011-03-08 23:59:41
WPF窗口不是System.Windows.Forms对象,因此this.ControlBox = false无论如何都不能工作。在wpf中没有显式属性来执行此操作,但请参阅本文。
http://winsharp93.wordpress.com/2009/07/21/wpf-hide-the-window-buttons-minimize-restore-and-close-and-the-icon-of-a-window/
它描述了如何删除控制框的WPF版本。
WPF控件派生自System.Windows.Controls,而不是System.Windows.Forms。
发布于 2016-11-13 07:14:08
你设置了你的窗户
<Window ...
WindowStyle="ToolWindow"
ResizeMode="NoResize">祝好运。
https://stackoverflow.com/questions/5239798
复制相似问题