在wpf数据网格中键入所选项目的列表

时间:2013-02-13 11:21:32

标签: wpf mvvm datagrid selecteditem

当选择更改时,我将所选项目发送到特定命令(每个项目都是X类)

我将它们作为对象如何将其转换为列表?

我试过了:

1. IList<x>  SelectedItemsList = obj as ObservableCollection<x>;

2. IList<x>  SelectedItemsList = obj as IList<x>;

3. List<x>  SelectedItemsList = obj as List<x>;

没有用。

此类型的列表:System.Windows.Controls.SelectedItemCollection我想将其转换为我的列表:ObservableCollection<x>/IList<x>/List<x>(ViewModel无法识别wpf的控件列表)

1 个答案:

答案 0 :(得分:11)

SelectedItems属性的类型是非通用IList。您不能简单地将其转换为通用IList<T>

然而,您可以使用LINQ获取IEnumerable<x>List<x>

using System.Linq;

IList list = obj as IList;
IEnumerable<x> SelectedItemsList = list.Cast<x>();
// or 
List<x> SelectedItemsList = list.Cast<x>().ToList();