2013-05-13 17 views
5

Mam aplikację WP8 DataBound z ItemViewModel powiązaną z LongListSelector.Uzyskiwanie wybranego elementu indeksu elementu LongListSelector

Po prostu, gdy użytkownik dotknie pozycji na liście, muszę pobrać numer indeksu o numerze wybranego elementu do wykorzystania w przyszłości. (0 jest pierwszy na liście, 1 sekunda, itp)

Więc, tak jak to może odzyskać pewną właściwość wybranego elementu:

string whateverProperty = (MyLongListSelector.SelectedItem as ItemViewModel).WhateverProperty; 

muszę coś takiego (oczywiście składa się kod):

int indexNumber = (MyLongListSelector.SelectedItem as ItemViewModel).GetSelectedIndex(); 

myślę własnością SelectedIndex jest rzeczą muszę, ale nie mogę dowiedzieć się, jak je odzyskać.

Dziękujemy!

EDYCJA: ROZWIĄZANE! Poniższe zapewnia mi dokładnie to, czego szukałem:

int selectedIndex = App.ViewModel.Items.IndexOf(MainLongListSelector.SelectedItem as ItemViewModel); 
+0

To zawsze zwraca -1 dla mnie. Jakiś pomysł, jaki może być problem? –

+0

To samo tutaj .. zawsze zwraca -1 – veereev

Odpowiedz

1

Miałem ten sam problem. Aby pobrać indeks, musisz użyć ItemSource. Powinien pasować do indeksu szablonów danych dla indeksu.

int selectedIndex = selector.ItemsSource.IndexOf(selector.SelectedItem as ItemViewModel); 

selektor odwołuje się do nadawcy obiektu LongListSelector. Mam nadzieję że to pomoże!

Powiązane problemy