WPF 用户控件 DataGrid 列绑定 C#

问题描述 投票:0回答:1
c# wpf binding datagrid user-controls
1个回答
0
投票

您应该在

UserControl
的构造函数中初始化集合属性:

public partial class DataGridWithHeader : UserControl
{
    public DataGridWithHeader()
    {
        InitializeComponent();
        SetValue(ColumnsProperty, new ObservableCollection<DataGridColumn>());
    }

    ...
}

然后您还需要使用回调中的列填充实际的

DataGrid
,例如:

private static void OnColumnsChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
    DataGridWithHeader dataGridWithHeader = (DataGridWithHeader)d;
    dataGridWithHeader.dataGrid.Columns.Clear();
    if (dataGridWithHeader.Columns != null)
        foreach (DataGridColumn column in dataGridWithHeader.Columns)
            dataGridWithHeader.dataGrid.Columns.Add(column);
}
© www.soinside.com 2019 - 2024. All rights reserved.