2011-04-27 72 views
2

我有一个空的列表框,我希望允许用户粘贴项目。目前我确定当用户点击它时,列表框已经有焦点(按照WPF: How to enable a Command?)。然后,如果他们右键单击包含粘贴命令的上下文菜单将被启用,并可以点击,这是非常好的。但是,如果不是用鼠标右键单击键盘上的CTRL + V,则不会执行粘贴命令。如何在空列表框中使用CTRL + V启用粘贴?

到目前为止,我无法弄清楚如何使这项工作。如果列表框中包含项目,并且其中一个被选中,则一切正常。

感谢

回答

2

用于粘贴命令添加您自己CommandBinding到ListBox。

m_yourlistBoxReference.CommandBindings.Add(new CommandBinding(ApplicationCommands.Paste,YourExecutedHandler,YourCanExecuteHandler)); 

但是,如你已经写了,你必须确保列表框集中,否则CommandBinding将不会执行。为了确保这一点,您可以注册到PreviewMouseDown事件,并将ListBox集中(如果尚未IsFocused为真)。

0

我不是WPF专家;不过,在WinForms中,最简单的方法是添加一个上下文菜单,其中包含剪切,复制,粘贴等快捷键。然后,您不必执行任何操作,只需实施上下文菜单单击即可。

相关问题