在WPF数据表格中,输入所选项目的类型列表。

8

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

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

我尝试过:


```python list(selected_items) ```
但这会引发类型错误。
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个回答

12
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();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接