2011-04-27 65 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中,最簡單的方法是添加一個上下文菜單,其中包含剪切,複製,粘貼等快捷鍵。然後,您不必執行任何操作,只需實施上下文菜單單擊即可。

相關問題