在WPF的.net6.0中DataGrid里如何获取某列的所有数据?(标签-WPF|关键词-DataGrid)

在WPF的.net6.0中DataGrid里实现一个操作?
现在DataGrid的名字这列已经有数据,现在我想实现一个操作,我点击这个Button,,把名字这列的所有单元格的值和一个数组里的的字符串拼串,然后把拼接后的字符串显示在班级那列,请问如何做到?目前我不知道怎么获取名字那列的数据,以及不知道如何得到一共有多少行。

img

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


你可以使用DataGrid的Columns属性来获取所有列,然后遍历每一列获取其中的单元格数据。以下是具体的代码示例:

private void Button_Click(object sender, RoutedEventArgs e)
{
    string[] stringArray = new string[] { "abc", "def", "ghi" }; // 用于拼接的字符串数组

    // 获取DataGrid中的名字列
    DataGridColumn nameColumn = dataGrid.Columns.FirstOrDefault(c => c.Header.ToString() == "名字");
    if (nameColumn != null)
    {
        // 遍历名字列的所有单元格并拼接字符串
        StringBuilder sb = new StringBuilder();
        foreach (var item in dataGrid.Items)
        {
            string name = nameColumn.GetCellContent(item)?.ToString();
            if (!string.IsNullOrEmpty(name))
            {
                sb.Append(name);
                sb.Append(string.Join("", stringArray)); // 将字符串数组拼接到名字后面
            }
        }
        string result = sb.ToString(); // 最终结果
        MessageBox.Show(result);
    }
}

以上代码中,我们首先获取DataGrid中的名字列,然后遍历所有行获取每个单元格的数据并拼接字符串。最终结果将会弹出一个消息框显示。注意,我们使用了StringBuilder来拼接字符串,这样可以避免频繁创建字符串对象导致的性能问题。


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