我正在使用非常简单的界面,其中包含用于添加、插入和删除数据网格行(底层绑定集合)的按钮和快捷方式。还需要实现撤消堆栈。但是......我不知道如何处理这个控件的内部逻辑。默认情况下,DataGrid 可以自动删除或添加新行,并对用户输入(Esc、F2 等)执行许多其他操作,从而隐式更改绑定数据。
由于命令将在 VM 端执行,撤消堆栈也是它的(甚至是 M 的)业务,但 DataGrid 包含内部预定义的 DataGrid 绑定。命令。而且我认为“观察”数据的变化并不容易。
我对理想的 MVVM 流程的理解是这样的:用户操作(视图)-> 命令(VM)-> 命令执行 + 撤消堆栈操作。(VM-M) -> UI 分别更改为 VM 更改。
我很困惑,需要一些关于实施的好建议。