我正在尝试做类似的事情;
<Button Command="{Binding DeleteCommand}" />
其中DeleteCommand是视图模型公开的ICommand。
我以为我可以做类似以下的事情,但似乎并非如此;
<DataGrid CommitEditCommand="{Binding CommitCommand}" />
基本上我正在尝试捕获视图模型中的事件并对其进行操作。我在这里缺少什么?
答案 0 :(得分:1)
我最初的预感是否定的......这是基于Vincent Sibal blog的读数。
CommitEditCommand
上的DataGrid
似乎会调用IEditableCollectionView对应方。所以......
DataGrid.CommitEditCommand
- &gt; IEditableCollectionView.CommitEdit
- &gt; IEditableObject.EndEdit
因此,如果您的模型正在实施IEditableObject
并且您在DataGrid
点击Enter(通过CommandManager存储的InputBinding)中的单元格,则默认执行DataGrid.CommitEditCommand
并将其设置为下游的一连串行动,如提到的那样..
博客确实谈到了使用RowEditEnding
或CellEditEnding
之类的事件取消命令,这意味着理论上你可以取消命令并在那时路由到你想要的行为。 / p>