2012-08-15 65 views
1

到ItemsControl的我有一個項目控制具有畫布上的項目,當我按下刪除我想刪除從畫布一個項目:如何綁定輸入鍵在WPF

<ItemsControl.InputBindings> 
    <KeyBinding Command="{Binding DeleteItemCommand}" Key="Delete"/> 
</ItemsControl.InputBindings> 

然而,在方法DeleteItemCommand永遠不會被調用。

我該如何做到這一點?

+0

其他命令是否按照你設置的那樣工作?有幾種不同的命令綁定約定,只是想知道是否可以完成代碼示例,說明如何設置命令以及該XAML是否共享可以看到命令綁定的DataContext。 – erodewald 2012-08-15 21:17:57

回答

4

ItemsControl(或可能是某些內容)需要Focusable才能接收鍵盤輸入。

+0

在我的ItemsControl項目上設置Focusable =「True」可以讓它們在關注時被刪除,謝謝,但是關注它們的唯一方法是通過Tab鍵或者一些黑客手段 - 在Mouse_Down捕獲上找到堆棧面板帆布項目。將項目添加到畫布時,是否有辦法將其聚焦? (通過鼠標點擊畫布將對象添加到ItemSource集合) – user13070 2012-08-17 15:24:05

+0

可能有一種方法,但我不能告訴你任何關於我的頭頂... – 2012-08-17 15:31:55

+0

你救了我這個答案! – Athina 2015-08-13 12:49:07