c# – 如何以编程方式向WPF ContextMenu添加访问密钥(快捷方式)
我已经有以下内容:
var myContextMenu = new System.Windows.Controls.ContextMenu(); var exitItem = new MenuItem(); exitItem.Header = "E_xit"; exitItem.Item.Click += new RoutedEventHandler(new System.EventHandler(ExitProgram)); myContextMenu.Items.Add(exitItem); 这会导致我的上下文菜单显示Exit菜单项,带有带下划线的“x”.但是,按x不会做任何事情.单击菜单项工作正常. 如何将事件与x键关联?请注意,这必须在我的上下文中以编程方式完成.我不能在前面的XAML中编写这个解决方案. 解决方法
添加快捷方式的常用方法如下:
var exitCommand = new RelayCommand(_ => ExitProgram()); var exitItem = new MenuItem(); exitItem.Header = "E_xit"; exitItem.Command = exitCommand; myContextMenu.Items.Add(exitItem); InputBindings.Add(new KeyBinding(exitCommand,new KeyGesture(Key.X,ModifierKeys.Alt)); RelayCommand 但请注意,您无法在没有修改器的情况下将快捷方式设置为X.
如果由于某种原因你需要使用X w / o修饰符 – 你将不得不处理键盘事件(例如KeyDown)并做出相应的反应 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |