[英]How to capture value change event of Datagrid's cell in WPF?
我正在使用Datagrid
显示一些MySQL表。自然地,我希望datagrid的更改应反映在MySQL表中。我编写了一个命令来处理Cell value changed event
,但是该命令没有成功:
<DataGrid x:Name="Table_DataGrid" Grid.Row="0" Grid.Column="0"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="0"
ItemsSource="{Binding MyServerWrapViewModel.TableFromMySql,
Source={StaticResource Locator}}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="TargetUpdated">
<cmd:EventToCommand
Command="{Binding updateCell}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</DataGrid>
我认为我正在听错事件,因为我的updateCell
没有命中...您如何捕获datagrid的cell value changed event
?
我想出了一个解决方案。
首先添加相关的ViewModel
作为DataGrid's DataContext
否则编译器将不知道在哪里可以找到绑定命令。
DataContext="{Binding MyServerWrapViewModel,Source={StaticResource Locator}}"
然后将TargetUpdated
更改为CurrentCellChanged
。
您为什么要附加活动? 通常,您将根据ObservableCollection中对象的某些属性为列创建DataBinding。 网格单元格中的更改将直接推送到绑定到的属性的设置器中。 从那里,您可以做任何让您满意的事情,例如写入db或设置修改的标志。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.