WPF的DataGrid默认的移动行为如下:

(1)当前单元格不处于编辑状态时可使用方向键移动焦点。

(2)当前单元格处于编辑状态时不可使用方向键移动焦点;
按Enter键,当前单元格退出编辑状态,焦点向下移动一格;
按Ctrl+Enter键,当前单元格退出编辑状态,焦点向上移动一格;
按Tab键,当前单元格退出编辑状态,焦点向右移动一格,并进入编辑状态;
按Shift+Tab键,当前单元格退出编辑状态,焦点向左移动一格,并进入编辑状态;

“运营管理3.0″的用户普遍电脑操作水平低下,Office是它们操作的最多也是最智能的软件,它们认为所有的软件都必须是Office一样地操作,否则就给差评,所以它们要求”运营管理”的操作方式尽量与Excel相同.

为了实现WPF的DataGrid的移动方式与Excel相同,需要重写DataGrid的OnPreviewKeyDown事件:

public class ExDataGrid : DataGrid{protected override void OnPreviewKeyDown(KeyEventArgs e){if (e.Key == Key.Left || e.Key == Key.Right || e.Key == Key.Up || e.Key == Key.Down){try{base.CommitEdit();}catch (Exception ex){base.CancelEdit();string mess = ex.Message;if (ex.InnerException != null)mess += "nn" + ex.InnerException.Message;MessageBox.Show(mess);}}base.OnPreviewKeyDown(e);}}

View Code

然后在使用DataGrid的地方换成已重写的ExDataGrid就可以了.

转载自:http://www.yuzifu.net/index.php/2010/11/%E6%89%A9%E5%B1%95wpf%E7%9A%84datag

转载于:https://www.cnblogs.com/nov5026/p/4798951.html

扩展WPF的DataGrid按方向键移动焦点相关推荐

  1. WPF 实现 DataGrid/ListView 分页控件

    原文:WPF 实现 DataGrid/ListView 分页控件 在WPF中,通常会选用DataGrid/ListView进行数据展示,如果数据量不多,可以直接一个页面显示出来.如果数据量很大,200 ...

  2. WPF之DataGrid控件使用

    WPF之DataGrid控件使用 一.DataGrid简介 二.DataGrid数据源绑定 三.DataGrid单元格编辑触发事件 四.DataGrid增加删除行 五.DataGrid数据触发器 参考 ...

  3. 有关WPF中DataGrid控件的基础应用总结

    基础说明 DataGrid是WPF提供的基础控件,它可以非常轻松的呈现出一张表格,本文章会按照从易到难的顺序依次将DataGrid的使用方法进行解说,除了MSDN上给出的最基本的例子之外,给出了三个比 ...

  4. C# wpf中DataGrid 支持汇总行

    最近有一个需求,需要汇总金额,份额等字段.我们使用的是原生的WPF控件,自己开发了一套Template.而没有使用比较成熟的第三方控件.所以这个功能得自己开发.并且要做成控件层次的功能. 当然也可以这 ...

  5. 在WPF的DATAGRID中快速点击出现在ADDNEW或EDITITEM事务过程不允许DEFERREFRESH

    在WPF的DATAGRID中快速点击出现在ADDNEW或EDITITEM事务过程不允许DEFERREFRESH 原文 在WPF的DATAGRID中快速点击出现在ADDNEW或EDITITEM事务过程不 ...

  6. WPF之DataGrid

    1.WPF 4 DataGrid 控件(基本功能篇) 基本使用,绑定数据展示 2.WPF 4 DataGrid 控件(自定义样式篇) 定义行,列,头,单元格等样式 3.WPF 4 DataGrid 控 ...

  7. WPF 计算DataGrid每一列的合计数

    WPF 计算DataGrid每一列的合计数 作者:邱名涛 撰写时间:2019 年 8 月 8 日 XAML:WindowStartupLocation="CenterScreen" ...

  8. 详解WPF 4 DataGrid控件的基本功能

    分享一下我老师大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow 详解WPF 4 D ...

  9. WPF 自定义DataGrid控件样式

    WPF 自定义DataGrid控件样式 样式一: 样式代码: <!--DataGrid样式--><Style TargetType="DataGrid">& ...

最新文章

  1. 2020.12.07.记录
  2. list里面的数据按3个字段排序_Python数据分析:探索性分析
  3. 在Google Cloud Platform的K8上运行Fn函数
  4. Java 8的惰性序列实现
  5. python同步两张数据表_Python 如何实现数据库表结构同步
  6. 马云:梭梭树就是企业家精神
  7. VB 全局Hook鼠标消息
  8. UVa 11292 勇者斗恶龙(The Dragon of Loowater)
  9. iOS 绝对值方法
  10. arcgis api for js实现克里金插值渲染图--不依赖GP服务
  11. osip和mysql_osip2/eXosip2调试笔记
  12. 利用Bitvise等软件通过SSH登录linux系统的心得
  13. linux socket监听端口,Linux-socket使用
  14. 动名词到底什么时候才用? ———— 英语菜鸟最后的倔强!
  15. Maven 部署私服依赖
  16. 全年日历平铺展示以及日期批量选择
  17. 牛客多校第九场K-The Flee Plan of Groundhog(树形DP)
  18. 问题 G: 奇数阶幻方
  19. jQuery UI 实例 - 滑块(Slider)
  20. 微信小程序日期选择器控件xxxx-xx-xx格式

热门文章

  1. jar包部署的三种方法
  2. 软考-嵌入式系统设计师-笔记:嵌入式系统的安全性知识
  3. 51单片机应用开发25例—基于Proteus仿真(电路图+程序)
  4. 关于主板PCIE对硬盘速度影响的思考(B450F)
  5. 用C#构建一个几何画板程序
  6. 网络营销课程实践感悟
  7. DataFrame操作excel文件及表格样式调整
  8. 随机波浪理论中各周期命名意义
  9. 程序员的另一出路:大数据工程师
  10. 自动抢单程序,提供给初学者练习接口开发使用