C# 网格控制WPF的动态列
我在wpf视图中有一个网格控件,我从一个文件中读取更多字段,我想在视图模型中为这些字段生成列(我使用MVVM)。我有一个类似这样的函数:C# 网格控制WPF的动态列,c#,wpf,mvvm,C#,Wpf,Mvvm,我在wpf视图中有一个网格控件,我从一个文件中读取更多字段,我想在视图模型中为这些字段生成列(我使用MVVM)。我有一个类似这样的函数: GridColumn column; try { column = new GridColumn { Name = fieldName, Header = headerN
GridColumn column;
try
{
column = new GridColumn
{
Name = fieldName,
Header = headerName,
AllowSorting = DefaultBoolean.True,
FieldName = fieldName,
ReadOnly = isReadOnly,
AllowEditing = isReadOnly ? DefaultBoolean.False : DefaultBoolean.True,
AllowMoving = DefaultBoolean.True,
AllowResizing = DefaultBoolean.True,
Width = width,
EditSettings = new TextEditSettings { HorizontalContentAlignment = EditSettingsHorizontalAlignment.Center },
AllowDrop = true,
CellStyle = isDiffColumn ? GetDiffColumnStyle(fieldName) : null
};
}
但现在我想在我的网格中添加3个新列,其中包含按钮或图像。所以我想我需要设置单元格模板
如何执行此操作?如果要使用
按钮或图像添加列
,则需要定义DataGridTemplateColumn
例如:
var templateColumn = new DataGridTemplateColumn();
var template = new DataTemplate();
var button = new Button();
template.VisualTree = button;
templateColumn.CellTemplate = template;
在视图模型中创建网格列?不是mvvm。