簡體   English   中英

WPF 數據網格 - 值更改后立即在復選框列中提交更改

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM