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