私はWPVMデスクトップアプリケーション用のMVVMを実装したプロジェクトに取り組んでいます。私はDatagridを古いMS Accessのテーブルリストビューのように編集できるようにしたいという状況があります。私は、メンバーがINPCを実装しているObservableCollectionにDatagridのItemsSourceをバインドしています。今度は、列の任意のセルをクリックしてメンバーを更新できるようにしたいのですが、他の行に移動したりフォーカスを失ったりすると、データを検証してDBに保存する必要があります。WPF編集可能なDataGrid for MS AccessとMVVM
ViewModelでこのようなイベントをキャプチャする方法と、この単純な機能をどのように達成できますか?
これはうまくいくはずです。バックグラウンドスレッドに保存する必要があります。btwパターン指向のアプローチを探していて、IEditableCollectionViewを使用しています:http:///blogs.msdn.com/b/vinsibal/archive/2008/05/20/wpf-3-5-sp1-feature-ieditablecollectionview.aspx。このアプローチについてどう思いますか? –
私は自分のDTO上でIEditObjectを使ってみましたが、それは魅力的です。しかし、私は背景のスレッドにオブジェクトを保存する必要があります。私が知りたかったあなたのアプローチについての一つのことは、ユーザーが行を選択し、別の行を選択せずに単純にページからナビゲートする場合です。それは選択された財産の設定者を呼びますか? –
@Shoaib - はい、SelectedItemバインディングに 'UpdateSourceTrigger = PropertyChanged'を含める限り、セッターは新しい行を選択する瞬間に呼び出されます。 – slugster