如何在空列表框中使用CTRL+V启用粘贴

本文关键字:CTRL+V 启用 列表 | 更新日期: 2023-09-27 17:53:32

我有一个空的列表框,我想让用户粘贴项目。目前,我确保列表框有焦点(按照WPF:如何启用命令?),当用户点击它。然后,如果他们右击包含粘贴命令的上下文菜单将被启用并可以点击,这是非常棒的。但是,如果用户不是右键单击,而是按键盘上的CTRL+V,则粘贴命令不会执行。

到目前为止,我还不知道如何使这个工作。如果列表框中有项目,并且其中一个被选中,则一切正常。

谢谢

如何在空列表框中使用CTRL+V启用粘贴

为列表框添加您自己的命令绑定。

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

然而,就像你已经写过的,你必须确保ListBox是集中的,否则CommandBinding将不会执行。为了确保这一点,你可以注册previewmousedown事件并聚焦ListBox,如果IsFocused不是真的。

我不是WPF专家;然而,在WinForms中,最简单的方法是添加一个带有剪切、复制、粘贴等快捷键的上下文菜单。然后你什么都不需要做,只要实现上下文菜单点击。