2013-02-13 1753 views
7

mogę wysłać wybrane elementy do określonego polecenia po zmianie wyboru (każda pozycja jest klasa X)Rodzaj lista wybranych elementów w datagrid wpf

mogę je jako przedmiot jaki sposób można przekonwertować go do listy ?

Próbowałem:

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

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

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

Nie pomogło.

Ten rodzaj listy: System.Windows.Controls.SelectedItemCollection Chcę przekonwertować go na mojej liście: ObservableCollection<x>/IList<x>/List<x> (ViewModel nie rozpoznał listę formantów WPF)

Odpowiedz

10

Rodzaj nieruchomości SelectedItems jest non-generic IList. Nie możesz po prostu rzucić tego na ogólny IList<T>.

Można jednak użyć LINQ, aby uzyskać IEnumerable<x> lub List<x>.

using System.Linq; 

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