2015-06-15 52 views
2

我有一個wpf視圖中的網格控件,我從文件中讀取更多的字段,我想爲視圖模型(我使用MVVM)中的那些字段生成列。所以我有這樣的功能:網格控制的動態列WPF

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個新的列與按鈕或圖像。所以我想我需要設置單元格模板。

我該怎麼做?

+0

創建您的視圖模型GridColumns?不是mvvm。 – Will

回答

0

如果要將Column加上ButtonImage,則需要定義DataGridTemplateColumn

例如:

var templateColumn = new DataGridTemplateColumn(); 
var template = new DataTemplate(); 
var button = new Button(); 
template.VisualTree = button; 
templateColumn.CellTemplate = template;