wpf datagrid:删除主列表/子编辑表单之间的依赖关系?

时间:2013-12-19 12:04:12

标签: wpf datagrid

我有以下内容:一个数据网格,其中DataContext是一个带有Customer对象列表的对象。我从数据库中提取值。 要编辑某个客户,我会单击一行中的按钮并打开一个包含客户详细信息的新表单。现在我将相关的客户对象(因此引用)传递给子表单DataContext。

我对此不满意,因为客户表单中的任何修改都会显示在客户列表表单中。

我希望两者都是独立的,只有当我点击子窗体中的“保存”按钮(当我点击“取消”时没有完成)才会刷新客户列表表单数据,这将触发编辑客户的数据库读取更新的值。

除了这些想法之外,告诉你的想法是正确的:

  1. 复制Customer对象并将此克隆传递给子窗体。我不喜欢这个。
  2. 重新读取客户以从数据库进行编辑,以获得包含相关数据的完整新对象。由于我的客户数据已经完全读取,在这种情况下,再次询问数据库似乎并不好玩。
  3. 感谢您的建议。

1 个答案:

答案 0 :(得分:0)

我继续以自己的方式做这件事而不与代表合作:WPF : update parent form after canceling edit in child form (reset DataContext)

有点麻烦,但有效。

我也使用了这种很好的克隆方式:WPF : update parent form after canceling edit in child form (reset DataContext)

但是我做了一些更改:我在通用方法签名中添加了“where T:class”。 我还简化了测试null参数的代码:

// Don't serialize a null object, simply return the default for that object
if (source_ == null)
{
  return default(T);
 }