在WPF中,单击DataGrid,如何获取当前点击的行?

比如在MouseDoubleClick事件中,事实上获取的选中行是一个DataRowview,你可以通过以下的方法来获取选中行的数据,需要引用system.IO 和System.Data;

var a =this.exDataGrid.selectItem;

var b= a as DataRowView;

或者var b=(DataRowView) exDataGrid.selectItem

b["FiledName"].ToString(); 其中的数据你可以直接转换

但要注意一个问题,如果你的DataGrid的ItemsSource是对象集合而不是DataTable的话,那么使用DataGrid.SelectedItem as YouClass就可以获得。比如在Linq to sql中你的ItemSource是对象集合,是把表对象当做类对象来进行处理的,只是你转换的应该是这个表类得类型(Product表在dbml中对应Product类)

var mySelectedElement = (Product)exDataGrid.SelectedItem;

int selectedID=mySelectedElement.productID;