[英]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.