实体框架上的 WPF 绑定

发布于 2024-11-06 20:43:12 字数 543 浏览 0 评论 0原文

我有 MS SQL Server 数据库,其中有一张表 - Peoples。从这些数据库生成实体框架数据模型。 在 WPF 应用程序中,我有 ListBox 和 ItemSource = DataModel.Entities.Peoples,以及两个按钮 - 在数据库中添加和删除人员。 添加按钮:

DataModel.Entities.AddPeople(new People("test"));
DataModel.Entities.SaveChanges();

并删除:

DataModel.Entities.Remove((People)listBox1.SelectedItem);
DataModel.Entities.SaveChanges();

当我单击删除按钮时 - 从数据库中删除相应的人员行并刷新 listBox1。但是,当我单击“添加”按钮时 - 在数据库中添加人员(请参阅 MS SQL 企业管理器),但列表框不刷新。

如何在添加时刷新列表框?我猜我忘记在 DataModel 中设置任何选项?

I have MS SQL Server database with one table - Peoples. From these database generated Entity Framework Data model.
In WPF application I have ListBox with ItemSource = DataModel.Entities.Peoples, and two buttons - add and remove People in database.
Add button:

DataModel.Entities.AddPeople(new People("test"));
DataModel.Entities.SaveChanges();

And removing:

DataModel.Entities.Remove((People)listBox1.SelectedItem);
DataModel.Entities.SaveChanges();

When I click remove button - corresponding People row removing from databases and listBox1 refreshing. But when I click add button - People added in database (see in MS SQL Enterprise Manager), but listbox does not refreshing.

How to refresh listBox on adding? Guess I forgot to set any option in DataModel?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

傲性难收 2024-11-13 20:43:12

除非 DataModel.Entities.PeoplesObservableCollection,否则它不会意识到更改。

我建议您使用 MVVM 模式,它可以完美解决该问题。

Unless DataModel.Entities.Peoples is an ObservableCollection, it won't be aware of changes.

I recommend you use the MVVM pattern for this, which solves that problem perfectly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文