如何强制WPF DataGrid在行后面实例化新的viewmodel对象?

时间:2018-12-21 20:17:48

标签: wpf wpfdatagrid

我有一个WPF DataGrid,其中包含一些单选按钮列和几个文本框列。

所有列都是DataGridTemplateColumns,因此我可以自定义字符串显示格式。 (不确定是否对任何内容都有影响。)

有两列带有单选按钮的列,应该将它们分组在一起以允许用户选择其中一个。

在行后面的视图模型中,有代码为一对单选按钮生成唯一的组名,以便每一行都有自己的一组互斥选项。

问题是,似乎在激活文本框之前,DataGrid不会实例化行的视图模型。那就是构造函数被触发的时候。在此之前,没有唯一的组名,因此用户可以选择两个单选按钮。构造函数运行后,单选按钮将正常运行。

有没有一种方法可以强制在DataGrid显示新行后立即实例化视图模型?

1 个答案:

答案 0 :(得分:0)

单选按钮应该具有可以绑定到的命令-允许您以编程方式实例化视图模型。您可以将行的数据上下文作为命令的参数发送(这甚至可能强制实例化),然后可以实例化它,并将其添加到DataGrid用作DataSource的集合中(如果它仍然为null)。