EF7 経由で SQLite データベースにバインドされたデータの ListView をユーザーに提示する単純な Windows 10 UWP アプリケーションを作成しました。Microsoft Getting Started on Universal Windows Platform サイトから多くの開始コードを取得しました。
バインディングは、次のように ViewModel で行われます。
using (var db = new ArtistContext())
{
lstArtists.ItemsSource = db.Artists.ToList();
}
これは、データベース テーブルの表示には問題なく機能します。
次に、ユーザーがデータベース テーブルにレコードを追加できるようにする 2 番目のページ (最初のページの上にモーダル ダイアログとして表示) があります。これは正常に機能し、レコードがデータベースに追加されていることがわかります。
しかし、ユーザーがダイアログを閉じると、元のビューを更新してデータベースの変更を表示することができません。WPF の開発から、ListView のデータバインディングは、テーブルからの ToList() ではなく、実際には ObservableCollection にする必要があることを知っています。ただし、データ コンテキストからの DBSet を ObservableCollection に変換する方法と、新しいレコードが 2 番目を介してデータベースに追加されたときにそのコレクションへの変更が UI に通知されるようにする方法については、完全な空白を描いています。意見。
どこかにサンプル実装がありますか、または誰かが私を正しい方向に向けるための基本を提供できますか?