微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

实体框架4中的DataGrid绑定未更新

如何解决实体框架4中的DataGrid绑定未更新

| 我正在使用Entity Framework 4 / WPF / C#。 “ 0”绑定到XAML中的WPF数据网格。这很好。但是,当我以编程方式创建一个新的Entity并将其添加到上下文中时,DataGrid保持不变。我应该怎么做才能更新DataGrid?     

解决方法

您不会看到更新,因为“ 1”正在构造期间从实体集中获取一次这些值。对该实体集的所有其他更改均未“观察到”。 只有对
ObservableCollection<T>.Add
的调用(等等)才会生成
CollectionChanged
事件。     ,正如sixlettervariables所说,您使用的构造函数将使用context.EntitySet值,并将它们全部添加到新的ObservableCollection中。添加您的context.EntitySet不会添加到重复的项目列表中。 您可以显示如何定义EntitySet吗?是否可以使其成为ObservableCollection并直接绑定到它?     ,我没有看到提到Silverlight的消息,所以我猜您没有使用RIA服务。 您如何将对象添加到上下文中? .AddTo {EntitySetName]() 或。{EntitySetNme} .Add() 如果您直接绑定到数据上下文,那么我相信后一种选择是您最好的选择。 就您个人而言,我会回避这一点,因为您的表示层正在直接与您的数据层对话。您应该在业务之间建立一个过渡(业务层),以处理将实体分别添加到UI绑定集合和持久性的过程。     ,很好;)数据网格应如何知道您在上下文中添加了一项?如果您将一个项目添加到可观察集合中,则只会通知datagrid。 因此,如果您根据上下文添加该项目,只需为您的collection属性调用OnPropertyChanged(\“ YourEntityCollectionPropertyHere \”)。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。