[英]WPF datagrid - commit changes in a checkbox column as soon as value is changed
我對數據網格有這個小問題。
在我的網格中,我有一個復選框列,它是唯一可編輯的列。
我正在尋找的行為是,只要復選框的狀態發生變化,數據網格就會更新我的數據源。 因此,用戶選中/取消選中該框 > 基礎數據表得到更新。
當行失去焦點時,默認行為似乎會更新源,要求用戶按下一個鍵或單擊其他一些控件來保存更改。
我怎樣才能改變這種行為?
我沒有看到可以執行此操作的數據網格的任何屬性,也沒有看到 DataGridCheckBoxColumn 的 CheckChanged 事件。
您需要列的綁定上的UpdateSourceTrigger
屬性。 這是一個簡單的示例,您可以將其充實並填寫空白:
<DataGrid x:Name="someGrid">
<DataGrid.Columns>
<DataGridCheckBoxColumn Binding="{Binding SomeProperty, UpdateSourceTrigger=PropertyChanged}" />
</DataGrid.Columns>
</DataGrid>
DataGrid 本身將所有列(除了模板列)的 UpdateSourceTrigger 設置為 LostFocus 並且不能被覆蓋。 因此需要使用帶有復選框模板的模板列。
編輯:這只是圍繞 DataGrid 列的一長串愚蠢陷阱中的一個。 此處概述了更多內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.