【发布时间】:2011-04-02 03:17:47
【问题描述】:
我需要删除(或至少更改)与 wpf 标准命令关联的默认手势。
这是我的问题:
我有一个 Datagrid(来自 infragistics 的 XamDataGrid),我已将我创建的自定义命令关联到该数据网格。该命令使用“ctrl-delete”手势。
只要我不编辑单元格的值,它就可以工作。
当我编辑单元格时,会使用 TextEditor。当我使用“ctrl-delete”手势时,不是执行我的命令,而是执行 DeleteNextWord 命令。
这很正常,TextEditor 有焦点,并且由于没有绑定或附加输入手势,所以使用类。
这就是我的问题所在。我不能(没有矫枉过正)向该 TextEditor 实例添加绑定或输入手势。
所以我尝试使用的方法是删除或修改 DeleteNextWord 命令的“默认”键手势。
在使用 .Net Reflector 了解命令的注册方式后,我看到框架从资源中获取与命令关联的键。
在我的例子中,手势“ctrl-delete”来自资源“ExceptionStringTable”(内部类型 SR,静态构造函数)中的键“KeyDeleteNextWord”。
所以我的问题:
我可以覆盖资源“ExceptionStringTable”中“KeyDeleteNextWord”的值吗?
或者,以更一般的方式:
如何全局修改标准 WPF 命令的默认手势?
如果需要,我很乐意提供更多信息。
谢谢。
【问题讨论】: