如何使用动态生成组合框列

时间:2016-02-08 19:29:29

标签: wpf mvvm combobox datagrid

如何使用动态生成组合框(通过c#)列创建Datagrid视图,以及如何将数据绑定到那些动态生成的列(通过MVVM)。  我想为自动生成的列中的每个组合框生成不同的数据集合。

提前致谢。

1 个答案:

答案 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