私はいくつかのデータを持つWPF DataGridを持っています。別のウィンドウで行を追加することができます。 DataContextはLINQ-to-SQLオブジェクトと同じです。バインディングも同じです。 "ItemsSource"プロパティをテーブルにバインドします。WPF DataGridを更新するには?
ユーザーが「保存」をクリックすると、プログラムで行を作成し、「InsertOnSubmit」を使用して追加します。その後、私はDataContextの "SubmitChanges"メソッドを使用します。
私の問題は、DataGridが更新されないということです。アプリケーションを再起動すると新しい行が表示されるので、データベースにありますが、DataGridを更新する方法が見つかりませんでした。
これまでのところ、私はDataGridのBindingExpressionに "UpdateTarget"を使用しようとしましたが、それは役に立ちませんでした。私はまた、 "dataGrid.Items.Refresh()"を試みました - 同じ結果。これをどうすれば解決できますか?
あなたのソリューションは明らかに機能しています。私は単なるXAMLバインディングマークアップで逃げることができたと思っています。 – KovBal
ObservableCollectionを使用してlinqとsqlとの間のブリッジとコントロールを使用する場合、SubmitChanges()を使用して結果をデータベースにポストバックする方法を教えてください。 – MemoryLeak
@ MemoryLeak - だからこそトリッキーなビットです。 *コレクション*が変更されたとき(つまりINotifyCollectionChangedが何であるか)知りたいだけでなく、*アイテム*が変更されたときも知りたいと思っています。したがって、コレクションの変更を購読してから、追加/削除し、各アイテムのINotifyPropertyChangedをサブスクライブする必要があります。 *あなた*あなたはあなたが得ている通知に基づいて保存するものを決める必要があります –