我有DataGridRow
的{{1}},如何从中获取各个列值?请参阅下面的代码。
DataGrid
答案 0 :(得分:1)
您可以将row.item强制转换为初始班级类型。
var itemsSource = MESearchDatagrid.ItemsSource;
if (itemsSource != null)
{
foreach (var item in itemsSource)
{
var row = MESearchDatagrid.ItemContainerGenerator.ContainerFromItem(item) as DataGridRow;
if (row != null)
{
var data = row.Item as UserClass;
MessageBox.Show(data.Name);
}
}
}
答案 1 :(得分:1)
没有理由在此处调用ContainerFromItem
方法。 ItemsSource
包含实际的数据对象。您只需将它们转换为您的类型(在以下示例代码中称为YourClass
):
var itemsSource = MESearchDatagrid.ItemsSource as IEnumerable;
if (itemsSource != null)
{
foreach (var item in itemsSource.OfType<YourClass>())
{
var prop = item.Property1;
//...
}
}
Property1
是YourClass
的属性。