(主要问题更新)
目标:选择一系列单元格(或行)的能力。更新一个单元格并将该更新级联到所有适用的单元格(例如,同一列中的单元格)
还希望使用Enter提交并移动到下一个单元格而不会丢失所选范围的Excel行为。
尝试使用Wpf Datagrid控件执行此操作..结果是一个kludge ..
- 数据网格支持使用Ctrl / Shift进行多项选择。
- 但是,在进入编辑模式时(与SelectionMode和Unit无关),取消选择所有其他行,将正在编辑的行作为唯一选择。通过挂钩到Mouse-Preview事件并缓存多选(如果有的话)来解决这个问题。在我的ViewModel行中添加了IsSelected属性,并使用它们随意修改选定的行。
- 仅在用户标签出来后才会提交修改。使用与UpdateSourceTrigger设置为PropertyChanged的绑定。使用从RowViewModel中侦听PropertyChangeNotifications的ContainerVm对缓存的多重选择应用当前编辑。
- DataGrid事件没有帮助 - 当调用BeginningEdit时,DataGridCell中的MouseDown处理程序已经修改了选择。
所以网格事件和样式没有帮助。也没有ViewModel方法。尝试的另一个选择是编写DataGridCell的派生并以某种方式插入它。
想法?