我正在尝试使用下面的代码但由于ItemContainerGenerator
var selectedRow = (DataGridRow)myGrid.ItemContainerGenerator.ContainerFromItem(myGrid.SelectedItem);
如何解决?
答案 0 :(得分:1)
您必须从visual tree
中选择它,DataGrid
提供无法方便的访问权限。
var selectedRow = myGrid.GetVisualDescendants()
.OfType<DataGridRow>()
.Where( row => row.DataContext == myGrid.SelectedItem)
.SingleOrDefault();
我建议您为此编写扩展方法,它会增强代码的可读性,您可以轻松地重复使用。