Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从WPF数据网格中读取单元格中的值?_C#_Wpf_Datagrid - Fatal编程技术网

C# 如何从WPF数据网格中读取单元格中的值?

C# 如何从WPF数据网格中读取单元格中的值?,c#,wpf,datagrid,C#,Wpf,Datagrid,如何从WPF数据网格读取单元格值 我在线搜索并尝试任何可能的组合,但没有任何效果: Datagrid.Cells[…],Datagrid.Items.Cells[…],Datagrid.Rows..,Datagrid.Items.Row。。 什么都不管用,我找不到它是MSDN或者我不理解它。我只需要从DataGrid中的单元格中读取一个值就可以了 怎么做?检查这个 这可能会帮助其他人 foreach (DataRowView row in dgLista.SelectedItems) {

如何从WPF数据网格读取单元格值

我在线搜索并尝试任何可能的组合,但没有任何效果:

Datagrid.Cells[…],Datagrid.Items.Cells[…],Datagrid.Rows..,Datagrid.Items.Row。。 什么都不管用,我找不到它是MSDN或者我不理解它。我只需要从DataGrid中的单元格中读取一个值就可以了

怎么做?

检查这个


这可能会帮助其他人

foreach (DataRowView row in dgLista.SelectedItems)
{
    string text = row.Row.ItemArray[index].ToString();
}

祝你好运

以下几点帮助了我:

Private Sub dgNames_MouseDoubleClick(sender As Object, e As MouseButtonEventArgs) Handles dgNames.MouseDoubleClick

    Dim strCellContent as String = MessageBox.Show(TryCast(e.OriginalSource, TextBlock).Text)

End Sub

下面是解决方案的摘要

Winform

类型:System.windows.Forms.DataGridView

// C#
foreach (DataGridViewRow row in dataGridView1.Rows)
{
  //"Column1" = column name in DataGridView
  string text = row.Cells["Column1"].value.ToString();   
}
WPF当量

类型:DataGrid

// C#
foreach (DataRowView row in dataGrid.Items)
{
  string text = row.Row.ItemArray[index].ToString();
}
对于wpf使用:

DataRowView item = dataGrid.Items[rowIndex] as DataRowView;
Console.WriteLine(item.Row.ItemArray[columIndex]);

从你的答案看来,我必须编写一个helper函数来从数据网格中获取一个单元格值。我的DataGrid中有数百行和多列。要获得所有值,我必须循环所有行,并多次运行helper函数。有没有更快的方法?@KMC这取决于你想做什么。你为什么要循环所有单元格并获取单元格中的数据?您可以简单地将数据绑定到代码隐藏或viewmodel,然后循环您的集合。我必须在DataGrid中选择大量单元格,并将其输出到Excel工作表。这就是为什么我在寻找一种更直观的方法。我将改写我的问题并发布一个新问题。@biju-请编辑此答案,以便在不遵循链接的情况下理解,这样我们就不会受到链接腐化的影响。@KMC不需要任何帮助。学习XAML,使用数据绑定。用XAML在c中做这些事情总是一团糟——你在与框架作斗争。他在帮你用错误的方法,但这仍然是错误的方法。