如何使用entitycollection绑定到wpf UI

如何使用entitycollection绑定到wpf UI,wpf,data-binding,frameworks,entity,Wpf,Data Binding,Frameworks,Entity,我使用EntityFramework进行数据访问,使用wpf作为UI。如果我将WPF组件绑定到实体类(通常是EntityCollection)的导航属性(在服务层中作为IList公开),则UI不会更新更改。我知道我必须使用ObservaleCollection之类的工具,但我需要一些关于如何使用它的指导,而不必在保存和检索过程中来回迭代 正如你所猜测的,我是WPF的新手;因此,将你的答案针对WPF初学者你不能直接使用它,而是要反映出变化 下面是一个例子,解释了其他人是如何解决这个问题的您不能直接

我使用EntityFramework进行数据访问,使用wpf作为UI。如果我将WPF组件绑定到实体类(通常是EntityCollection)的导航属性(在服务层中作为IList公开),则UI不会更新更改。我知道我必须使用ObservaleCollection之类的工具,但我需要一些关于如何使用它的指导,而不必在保存和检索过程中来回迭代


正如你所猜测的,我是WPF的新手;因此,将你的答案针对WPF初学者

你不能直接使用它,而是要反映出变化


下面是一个例子,解释了其他人是如何解决这个问题的

您不能直接使用它,也不能将更改反映出来


下面是一个例子,解释了其他人是如何解决这个问题的

您不必使用ObservableCollection。WPF实际上依赖于INotifyCollectionChanged,这是ObservableCollection实现的。因此,如果您创建了一个实现此接口的包装器集合,并将操作转发到EntityCollection上并引发事件,那么只要您通过包装器而不是基础集合修改集合,就应该是好的。只读集合使用类似的概念包装现有集合并与包装器、简单装饰器模式交互。

您不必使用ObservableCollection。WPF实际上依赖于INotifyCollectionChanged,这是ObservableCollection实现的。因此,如果您创建了一个实现此接口的包装器集合,并将操作转发到EntityCollection上并引发事件,那么只要您通过包装器而不是基础集合修改集合,就应该是好的。类似的概念用于只读集合包装现有集合并与包装器、简单装饰器模式交互。

我在Silverlight LOB应用程序中遇到了同样的问题 我已经创建了一个名为ObservableCollections的silverlight库,并附带了visual studio 2012 addin和NUGet支持,以生成样板代码,以便使用ObservableEntityCollection类包装EntityCollection。我知道您的问题是关于WPF的,但它可能会有所帮助


我在Silverlight LOB应用程序中也遇到了同样的问题 我已经创建了一个名为ObservableCollections的silverlight库,并附带了visual studio 2012 addin和NUGet支持,以生成样板代码,以便使用ObservableEntityCollection类包装EntityCollection。我知道您的问题是关于WPF的,但它可能会有所帮助