C# 如何以编程方式获取WPF gridview行值?

C# 如何以编程方式获取WPF gridview行值?,c#,wpf,gridview,C#,Wpf,Gridview,我们有许多带有GridView视图的listview,这些视图绑定到ViewModelCollection。现在我需要从GridView获取显示的值(作为字符串)。似乎我无法从GridViewclass访问行 我不知道GridView显示的是什么类型,所以我也不能使用ListView.ItemCollection。另外,我不知道GridView的名称,因为代码不在代码后面(尝试遵循MVVM模式)。我只需要显示的值,以便将它们导出到Excel工作表(列顺序也很重要) 有什么建议吗?我将使用View

我们有许多带有
GridView
视图的
listview
,这些视图绑定到
ViewModelCollection
。现在我需要从
GridView
获取显示的值(作为字符串)。似乎我无法从
GridView
class访问行

我不知道
GridView
显示的是什么类型,所以我也不能使用
ListView.ItemCollection
。另外,我不知道
GridView
的名称,因为代码不在代码后面(尝试遵循MVVM模式)。我只需要显示的值,以便将它们导出到Excel工作表(列顺序也很重要)


有什么建议吗?

我将使用ViewModelCollection获取数据。如果丢失格式,只需对字段应用相同的格式规则即可。更好的方法是,我将在ViewModelCollection中以各自的格式公开字符串属性,并将网格视图绑定到它们。

通过使用DataRowView,您可以获得每个单元格的值

DataRowView row = (DataRowView)grid_view.SelectedItems[0];
cmbx_name.Text = row.Row.ItemArray[0].ToString();
lbl_date.Text = row.Row.ItemArray[1].ToString();
txt_location.Text = row.Row.ItemArray[2].ToString();
txt_vehicleno.Text = row.Row.ItemArray[5].ToString();
cmbx_source.Text = row.Row.ItemArray[6].ToString();
orderid = row.Row.ItemArray[7].ToString();
custid = row.Row.ItemArray[8].ToString();

是的,但是列的顺序呢?GridView不一定显示ViewModel中的所有属性这一事实?然后获取网格的CollectionView,并从那里访问数据。有关详细信息,请参见以下内容:,然后是以下内容: