2011-10-06 78 views
0

我想将数据网格控件绑定到我的MVVM模型中的集合属性,以便在添加新行时将模型本身设置为由数据网格生成的每个对象的属性。这样做的目的是在模型及其子集合项目之间创建双向一对多关系,以便每个项目都可以知道父模型。WPF DataGrid - 生成对象的默认值

如何做到这一点?

谢谢!

+0

当你说“模型传递给构造函数”时,你是什么意思?根据我的经验,模型特指数据对象域中的程序。如果你正在讨论在一个集合中有一个模型父类,它有一个孩子,那应该是相当简单的。请说明。 – CodeWarrior

+0

阅读已编辑的帖子。 –

回答

0

我假设你正在使用DataGrid的新记录行添加项目。我不确定如何做到这一点,但是,你可以做的是添加一个按钮来创建一个新的项目,将按钮命令属性绑定到你的ViewModel上的命令,并从那里构建。只需要一个带有参数的重载构造函数。

它发生在我身上,否则你可能会这样做。你将不得不做任何你想要从可见的新对象引用的对象。你可以做到这一点正是如此:

  1. 在你的主窗口(或App.xaml中)代码隐藏,创建和公开一个 属性来保存当前的模型对象。
  2. 每当当前的模型对象发生变化时,反映出该属性的变化。

  3. 在您的子对象的构造函数中,查找该属性。

  4. 如果不为空,则将其分配给适当的子 导航属性。