2012-03-13 43 views
0

私はWPF DataGridを観測可能なビューモデルのコレクションにバインドしました。各ビューモデルはDataGridの各行を表します。ビューモデルはBeginEditCellEditEndingのイベントを処理します。CellEditEndingイベントのDataGridコンテンツを変更します

シナリオの1つでは、CellEditEndingイベントで観測可能なコレクションの内容を変更したいと考えています。しかし、DataGridがまだ編集モードにあり、observableコレクションからアイテムを追加/削除しようとすると、例外がスローされ、アプリケーションがクラッシュするため、これを行うことはできません。

提案がありますか?

答えて

0

ディスパッチでお願いします。

CellEditEndingハンドラでは、コードをDispatcher.BeginInvoke()メソッドで呼び出します。

はまた、あなたは、ビューモデルがにBeginEditとCellEditEndingイベントを処理

を言いました。

純粋なMVVMを使用している場合、これは禁止されています。 MVVMはDelegate/Relay Commandsによってイベントを実装します。

+0

ディスパッチャを使用してみます。私はデータグリッドBeginEdit()とEndEdit()を呼び出すために、データグリッドBeginEditとCellEditEndingイベントが発生したときに、ビューモデルでアタッチされたビヘイビアを使用しています。 – Rishabh

関連する問題