2012-08-15 32 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