C# 如何对击键进行细粒度控制?

C# 如何对击键进行细粒度控制?,c#,wpf,datagrid,C#,Wpf,Datagrid,我的应用程序的用户需要用数字填充两个DataGrid列。列可能很长,并且通常键入的数字相同。我想通过添加以下两个功能,可以使应用程序更加友好: a当用户按下右栏上的Enter键时,焦点应该转到左栏,就像回车一样。这样,单元格之间的移动将通过按Tab键和Enter键来执行。我需要有选择地直接向下覆盖默认移动 b用户应该可以选择按Control-D键,从而将当前单元格中的值复制到底行 我想第一个问题是:数据网格是哪个实体?单间牢房柱?是否应该附加事件处理程序 蒂亚 注意:我的文章中有很大一部分可以总

我的应用程序的用户需要用数字填充两个DataGrid列。列可能很长,并且通常键入的数字相同。我想通过添加以下两个功能,可以使应用程序更加友好:

a当用户按下右栏上的Enter键时,焦点应该转到左栏,就像回车一样。这样,单元格之间的移动将通过按Tab键和Enter键来执行。我需要有选择地直接向下覆盖默认移动

b用户应该可以选择按Control-D键,从而将当前单元格中的值复制到底行

我想第一个问题是:数据网格是哪个实体?单间牢房柱?是否应该附加事件处理程序

蒂亚


注意:我的文章中有很大一部分可以总结为DataGrid如何更像Excel?

问题A纯粹是一个特定于UI的问题,可以在代码隐藏中处理。它与数据或应用程序逻辑无关。问题b与数据完全相关,应在ViewModel或数据模型级别处理。@HighCore-b可能还需要在代码隐藏中处理,请注意:如果datagrid在UI端排序,则绑定的集合在VM/DM中的排序顺序将不同;如果出现这种情况,那么在VM/DM中处理要更新的值可能会导致更新错误的项。你认为呢?@MetroSmurf我认为在这种情况下,OP应该在VM上使用CollectionView来处理排序、筛选等。