6

アプリケーションに複数の XamDataGrid があり、ユーザーがそれらのチェックボックスを変更するとすぐに、それらすべての [保存] ボタンを有効にしたいと考えています。セルはまだ編集モードであるため、セルを離れるかEnterキーを押すまで、これは現在発生しません。コードビハインドで見つけた投稿を使用してこれを修正する方法を知っています。

private void XamDataGrid_CellChanged(object sender, Infragistics.Windows.DataPresenter.Events.CellChangedEventArgs e)
        {
            e.Cell.Record.SetCellValue(e.Cell.Field, e.Editor.Value, true);
        }

しかし、これをすべてのグリッドの分離コードに入れずに、アプリ全体のすべてのグリッドでこれを処理するにはどうすればよいですか? 私は MVVM を使用しており、可能であれば、コードの背後にあることを望んでいません。必要があればそうしますが、グリッドを含む 17 の異なるファイルのコード ビハインドには絶対に入れたくありません。もしかして挙動?

4

2 に答える 2

7

DataItemUpdateTriggerOnCellValueChangeに設定する必要があります。

XamDataGrid のすべてのフィールドのデフォルト値

<igDP:XamDataGrid.FieldSettings>
    <igDP:FieldSettings 
        DataItemUpdateTrigger="OnCellValueChange" />
</igDP:XamDataGrid.FieldSettings>
  • これは、すべての XamDataGrid のスタイルとして簡単に適用できると思います。

個々のフィールドの場合

<igDP:Field Label="" Name="IsSelected" >
    <igDP:Field.Settings>
        <igDP:FieldSettings DataItemUpdateTrigger="OnCellValueChange" />
    </igDP:Field.Settings>
</igDP:Field>
于 2014-06-12T13:27:20.803 に答える