WPF:如何从DataGridRow获取单元格值

时间:2018-01-25 05:58:27

标签: c# wpf wpfdatagrid

我有DataGridRow的{​​{1}},如何从中获取各个列值?请参阅下面的代码。

DataGrid

2 个答案:

答案 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;
        //...
    }
}

Property1YourClass的属性。