WPF动态地向数据网格添加列

时间:2016-01-15 13:52:53

标签: wpf datagrid

我有一个数据网格,它绑定到数据表的默认视图。我需要这个绑定,因为列不是固定的,但我需要在datagrid的末尾有2个固定列,每个单元格中都有一个图像按钮来显示每行的某些属性,或者允许用户删除一行。

如何添加这2个固定列?

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为你可以做到以下,

    MyDataGrid.AutoGeneratedColumns += OnAutoGeneratedColumns;

    private void OnAutoGeneratedColumns(object sender, EventArgs e)
    {
        var myImageTemplate = TryFindResource("MyImageTemplate") as DataTemplate;
        if (myImageTemplate != null)
        {
            MyDataGrid.Columns.Add(new DataGridTemplateColumn()
            {
                Header = "Delete",
                CellTemplate = myImageTemplate
            });
        }
    }

在xaml中,

<DataGrid x:Name="MyDataGrid" ItemsSource="{Binding Items, RelativeSource={RelativeSource AncestorType=Window}}"
          AutoGenerateColumns="True"/>