0

我有一个绑定数据人、地点和数量的数据网格。在 SelectionChanged 事件中,我试图访问数据,但它说类型是匿名的。

在此处输入图像描述

如何转换此对象并获取值?

任何帮助或建议将不胜感激!!!

4

1 回答 1

1

您可以尝试使用反射来获取属性值。

private void workgrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    object selectedItem = ((DataGrid)sender).SelectedItem;
    Type type = selectedItem.GetType(); 

    string name = (string)type.GetProperty("PersonName").GetValue(selectedItem, null);
    int amount = (int)type.GetProperty("Amount").GetValue(selectedItem, null);
    string place = (string)type.GetProperty("Place").GetValue(selectedItem, null);
}

不过,推荐的方法是为您将用于将 DataGrid 绑定到的集合创建自己的类型。这将允许您避免直接绑定到匿名类型。

public class AccountInfo
{
    public string PersonName { get; set; }
    public int Amount { get; set; }
    public string Place { get; set; }
}
于 2013-03-28T07:14:43.807 回答