XamDataGrid では、バインドデータへの値変更通知は編集を終える(セルエディタから抜ける)タイミングで発生致します。テキスト編集では直感的な動作ですが、場合によっては編集内容を即時バインドデータへ反映したい状況があります。
例えば、bool 値のデータをバインドすると、XamDataGrid がデータタイプに応じて自動的にチェックボックス列を表示します。このチェックボックスにチェックを入れる/外すタイミングでバインドデータへ即時に変更通知をしたいとします。
XamDataGrid のデフォルトの挙動では、チェックボックスからフォーカスが抜けるまで変更通知が行われませんが、DataItemUpdateTrigger プロパティに OnCellValueChange を指定することで即時に変更通知を発生させることができます。
<igDP:XamDataGrid DataSource="{Binding Tasks}" Margin="-22,0,22,0"> ... <igDP:XamDataGrid.FieldLayouts> <igDP:FieldLayout> ... <igDP:Field Name="IsCompleted"> <igDP:Field.Settings> <igDP:FieldSettings DataItemUpdateTrigger="OnCellValueChange"/> </igDP:Field.Settings> </igDP:Field> </igDP:FieldLayout> </igDP:XamDataGrid.FieldLayouts> </igDP:XamDataGrid>
オンラインリソース
DataItemUpdateTrigger プロパティhttp://jp.infragistics.com/help/wpf/infragisticswpf4.datapresenter.v16.2~infragistics.windows.datapresenter.fieldsettings~dataitemupdatetrigger
サンプルはこちら
XamDataGrid_CheckBox_Update.zip
(本サンプルは16.2.20162.1006バージョンで作成されました)