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紧密绑定,如果可能的话,我想避免这种情况.
解决方案实际上比我想象的要容易。我更改了 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)
| 归档时间: |
|
| 查看次数: |
4930 次 |
| 最近记录: |