获取Silverlight DataGrid中的行
本文关键字:DataGrid Silverlight 获取 | 更新日期: 2023-09-27 17:59:17
我正在尝试使用下面的代码,但由于ItemContainerGenerator
的原因,它不起作用
var selectedRow = (DataGridRow)myGrid.ItemContainerGenerator.ContainerFromItem(myGrid.SelectedItem);
这只是一个解决方案吗?
如何修复?
您必须从visual tree
中选择它,DataGrid
无法提供方便的访问。
var selectedRow = myGrid.GetVisualDescendants()
.OfType<DataGridRow>()
.Where( row => row.DataContext == myGrid.SelectedItem)
.SingleOrDefault();
我建议您为此编写一个扩展方法,它将增强代码的可读性,并且您可以轻松地重用它。