8

選択が変更されたときに、選択したアイテムを特定のコマンドに送信します(各アイテムはクラス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のコントロールのリストを認識しませんでした)

4

1 に答える 1

12

プロパティのタイプはSelectedItems非ジェネリックIListです。それを一般的なIList<T>に単純にキャストすることはできません。

ただし、LINQIEnumerable<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();
于 2013-02-13T11:29:20.677 に答える