我编写了一个简单的 Windows 10 UWP 应用程序,该应用程序向用户显示通过 EF7 绑定到 SQLite 数据库的数据的 ListView。我从 Microsoft 通用 Windows 平台入门网站中获取了很多起始代码。
绑定在 ViewModel 中完成,如下所示:
using (var db = new ArtistContext())
{
lstArtists.ItemsSource = db.Artists.ToList();
}
这适用于显示数据库表。
然后我有第二个页面(在第一个页面上显示为模式对话框),它允许用户将记录添加到数据库表中。这工作正常,我可以看到记录已添加到数据库中。
但是,一旦用户关闭对话框,我就无法更新原始视图以显示数据库中的更改。我从 WPF 开发中知道,ListView 的数据绑定实际上应该是 ObservableCollection 而不是表中的 ToList()。但是,我对如何将来自数据上下文的 DBSet 转换为 ObservableCollection 以及如何确保在通过第二个将新记录添加到数据库时通知 UI 对该集合的更改完全空白看法。
某处是否有示例实现,或者有人可以提供基础知识来为我指明正确的方向吗?