如何使用动态生成组合框(通过c#)列创建Datagrid视图,以及如何将数据绑定到那些动态生成的列(通过MVVM)。 我想为自动生成的列中的每个组合框生成不同的数据集合。
提前致谢。
答案 0 :(得分:0)
不确定为什么要通过c#添加组合框。 为什么不使用模板列,您可以在其中利用MVVM。视图在XAML中定义,内容通过ViewModel数据绑定。
<DataGridTemplateColumn Header="ColumnHeader">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<local:CostumControlWithCombobox Text="{Binding Path=YourListToPickFrom}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
如果某个行的选择列表可能不同。您需要一个规则或参数来绑定匹配列表。请注意,还可以在TemplateColumn中添加具有mvvm行为的控件(仅用于演示),但您也可以绑定到组合框列表本身。
如果您仍然希望通过C#代码构建它,请查看DataGridTemplateColumn的类文档,也可以通过代码访问它们。 https://msdn.microsoft.com/en-us/library/system.windows.controls.datagridtemplatecolumn(v=vs.110).aspx
HTH