【发布时间】:2010-10-08 12:01:28
【问题描述】:
在 WPF DataGrid 中,F2 键用于编辑当前单元格。我的软件项目中的要求说 F2 应该做其他事情。我添加了一个键绑定,但它仅在键盘焦点不在 DataGrid 中时才有效。
我可以禁用或删除 DataGrid 对 F2 键的键绑定吗?
【问题讨论】:
标签: wpf datagrid key-bindings
在 WPF DataGrid 中,F2 键用于编辑当前单元格。我的软件项目中的要求说 F2 应该做其他事情。我添加了一个键绑定,但它仅在键盘焦点不在 DataGrid 中时才有效。
我可以禁用或删除 DataGrid 对 F2 键的键绑定吗?
【问题讨论】:
标签: wpf datagrid key-bindings
我没有找到一种方法来覆盖 DataGrid 中 F2 键的使用。我可以禁用 DataGrid 中的功能,但我不能同时将它连接到其他任何东西。
让利益相关者更容易改变需求。毕竟,大多数 Windows 用户都熟悉 F2 来启用编辑,就像在资源管理器和 Excel 中一样。
【讨论】:
如果是 F2 键,如何在 Keyboard.PreviewKeyDown 附加事件或 UIElement.PreviewKeyDown 路由事件中将 RoutedEventArgs.Handled 属性设置为 true。
【讨论】:
RoutedEventArgs.Handled 不适用于输入键绑定。与其使用 KeyBinding,不如直接使用 PreviewKeyDown 事件来执行您的命令(然后设置 e.Handled = true)?