绑定自跟踪实体的导航属性WPF的问题

时间:2010-10-01 01:05:07

标签: wpf entity-framework xaml self-tracking-entities

我有一个使用Entity Framework 4和自我跟踪实体消耗数据的WPF应用程序。其中我有一个带有2个控件的窗口,其中一个使用ContentControl显示对象的“Details”部分,并使用合并的资源字典显示模板。另一个具有ListBox of Groups的组件所涉及的对象和一个可用组的ComboBox,它可以属于一个按钮,通过命令连接到控件,根据ComboBox的SelectedItem从绑定的Group集合中添加/删除项目。所有这些都由DependencyPropertys绑定在一起。

在我的窗口中,我有对象的DP,我们正在编辑的EditedItem和一个只读属性,其中包含可能属于的组的列表,并通过XAML将其绑定到我的控件。

SO ....

如果我创建了一个我的实体的新实例,请设置它的属性如下:(确实这是确切的代码)

        Employee employee = Context.CreateObject<Employee>();
        employee.Name = "Joe Nobody's Brother Steve";
        employee.Active = true;
        employee.Username = "snobody";

        Group group = Context.CreateObject<Group>();
        group.Name = "Losers";
        group.DisplayName = "Spirit Squad";

        employee.Groups.Add(group);

并将其设置为我的Window的EditedItem,它无法正常工作!

但是,如果我从我的数据库中获取这个完全相同的实体,则Group ListBox为空。 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

事实证明我在其他方面犯了一个错误: 我需要打电话:

    ObjectContext.LoadProperty(entity, navigationProperty);

在我的导航属性上,以便填充它们。我认为这与我的对象有关,所有对象都是从核心对象派生的,而且我在核心对象的ObjectSet上使用OfType选择它们。或者它可能是行为,但我想我以前会遇到它。

但是,嘿,我会接受工作,这很容易融入我的选择方法和属性。

将这一点归结为无知EF4。