我有这样的课
public class Foo
{
public string prop1 {get;set;}
public string prop2 {get;set;}
}
还有一个带有 a 的视图模型List<Foo>
,这个列表用作Bind
one 的一个DataGrid
,然后在代码隐藏中我需要获取 Datagrid.SelectedItems
集合并将其转换为List<Foo>
我尝试过的事情:
List<Foo> SelectedItemsList= (List<Foo>)DataGrid.SelectedItems;
// OR
object p = DataGrid.SelectedItems;
List<Foo> SelectedItemsList= ((IList)p).Cast<Foo>().ToList();
所有这些方式都编译但在运行时抛出异常。
投射它的正确方法是什么?
注意: Base Type of DataGrid
is anObservableCollection
这有什么不同吗?