在WPF的.net 6.0中如何获取DataGrid里某列的数据赋值给List

在WPF的.net 6.0中如何获取DataGrid里某列的数据赋值给List?
具体该怎么做?我需要获取一个DataGrid里面指定列(比如第1列)的所有值,并且赋值给一个List或者Array

参考下面的代码,使用Linq从数据源来查询。

            List<string> columnValues = DataGrid.ItemsSource.Cast<Person>()
                .Select(person => person.Name).ToList();

以下内容部分参考ChatGPT模型:


可以通过以下代码获取DataGrid中指定列的所有值,并赋值给List:

List<object> columnValues = new List<object>();
int columnIndex = 0; // 获取第1列
foreach (var item in dataGrid.Items)
{
    var row = dataGrid.ItemContainerGenerator.ContainerFromItem(item) as DataGridRow;
    if (row != null)
    {
        var cell = row.ItemContainerGenerator.ContainerFromIndex(columnIndex) as DataGridCell;
        if (cell != null && cell.Content != null)
        {
            columnValues.Add(cell.Content);
        }
    }
}

其中,dataGrid为你的DataGrid控件实例,columnIndex为指定列的索引。如果你需要获取特定列的数据类型,可以将List<object>改为List<T>,并将代码中的object改为对应的数据类型。


如果我的建议对您有帮助、请点击采纳、祝您生活愉快