2013-02-13 91 views
7

我发送所选项目的特定命令的类型列表中选择何时更改(每个项目是一类X)在WPF DataGrid中选定的项目

我让他们为对象的我怎么能转换成一个列表?

我想:

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>(视图模型不认可的WPF控件列表)

回答

10

的类型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();