获取所选DataGrid行后面的源实例

本文关键字:实例 DataGrid 获取 | 更新日期: 2023-09-27 18:10:22

我在xaml中有一个DataGrid,我通过像这样设置ItemsSource来填充它

var myList = new List<Product>();
//Product is a standard class created for the purpose of populating the datagrid
 myList.Add(new Product(){Name = "bla", SerialNumber = 1234})
 myList.Add(new Product(){Name = "somename", SerialNumber = 567})
dataGrid.ItemsSource = myList;

所以基本上数据网格中的每一行都是用来自Product类实例的值填充的。

在后面的代码中,当用户在数据网格中选择一行并按下一个键时,我得到选中的行,如下所示

dataGrid.SelectedItem

但是现在,我似乎不知道如何获得用于创建所选行的Product实例。

例如var test = datagrid。selecteditem。instance这和下面的操作是一样的var test = new Product(){Name = "bla", SerialNumber = 1234}

获取所选DataGrid行后面的源实例

dataGrid.SelectedItem属性应该返回您的Product实例,但是如果您确实有DataGridRow对象,那么您可以使用DataGridRow.Item属性获得相关的数据项:

 Product selectedProduct = (Product)yourDataGridRow.Item;