MVF Datagrid在MVVM环境中的RowEditEnding

Jos*_*osh 6 wpf datagrid prism mvvm

我一直试图通过使用捕获用户输入数据网格的值

<b:Interaction.Triggers>
    <b:EventTrigger EventName="RowEditEnding">
        <b:InvokeCommandAction  Command="{Binding ReleaseRowEditEndingCommand}" CommandParameter="{Binding SelectedRelease}"/>
    </b:EventTrigger>
Run Code Online (Sandbox Code Playgroud)

但是这不起作用,我现在在阅读StackOverflow上的这篇文章时理解这一点.所有解决方案似乎都基于直接调用与所引发事件匹配的方法签名,在本例中

private void OnRowEditEnding(object sender, DataGridRowEditEndingEventArgs e)
Run Code Online (Sandbox Code Playgroud)

有没有人完成在MVVM情况下获得post-rowedit的值?所有解决方案似乎都将事件与XAML紧密绑定,如果可能的话,我想避免这种情况.

Jos*_*osh 2

解决方案实际上比我想象的要容易。我更改了 XAML,现在可以获取视图模型上 RowEditEnding 事件中的值。这是之前关于数据网格上的数据列的内容:

 <DataGrid.Columns>
    <DataGridCheckBoxColumn Header="Is Paid" Binding="{Binding IsPaid, Mode=TwoWay}" />
    <DataGridTextColumn Header="Amount" Binding="{Binding Amount, Mode=TwoWay}" />
</DataGrid.Columns>
Run Code Online (Sandbox Code Playgroud)

 <DataGrid.Columns>
    <DataGridCheckBoxColumn Header="Is Paid" Binding="{Binding IsPaid, UpdateSourceTrigger=PropertyChanged}" />
    <DataGridTextColumn Header="Amount" Binding="{Binding Amount,  UpdateSourceTrigger=PropertyChanged}" />
</DataGrid.Columns>
Run Code Online (Sandbox Code Playgroud)