【发布时间】:2012-06-22 14:45:06
【问题描述】:
我有一个带有绑定到实体框架对象的客户属性的视图模型。客户对象具有到其他表的多个导航属性。如果其中一个依赖表中已经存在现有记录,我的视图会正确显示,并且我可以编辑和保存,但是当我尝试将新对象添加到 Customer 属性时,例如:
Customer.BillingDetail = new CustomerBillingDetail();
即使 viewmodel Customer 属性填充了空白对象,视图也不会绑定到新对象。所以当我去保存时,输入的值都没有保存到视图模型中,它仍然有空白对象。
那么,如何让视图和视图模型在向导航属性添加新对象时进行通信?
我在视图模型中是否缺少用于跟踪客户导航属性的属性更改的内容?
谢谢, -Sid。
【问题讨论】:
-
您可能需要将其添加到上下文中。使用 context.CreateObject 创建 billingdetail。
-
视图不知道新对象。绑定必须在我的视图模型和视图之间。那么如何更新我的视图模型上的 Customer 属性,如果记录已经存在则正确绑定,但是当我向导航属性添加空白时不会正确绑定?我确定它与属性更改事件有关,但是您如何使用导航属性来做到这一点?
-
我相信您的问题是 BillingDetail 最初为 null 并破坏了绑定。谷歌“WPF 绑定到空值”以获得一些帮助。实现后备值或使用 TargetNullValue 可能是您需要的。
标签: c# wpf entity-framework-4