2013-05-13 23 views
5
'a bağlı bir ItemViewModel numaralı WP8 DataBound uygulamasına sahibim. kullanıcı listesinde bir öğeyi dokunduğunda

Bir LongListSelector Öğesinin SelectedIndex'inin Alınması

Oldukça basit, ben dizin numarası ileride kullanılmak üzere seçilen öğenin almak gerekir.

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

Böyle bir şey gerek (besbelli yapılmış: Bu seçilen öğenin belli bir özelliği almak olabilir, tıpkı Yani

(0 vs 1 saniyedir, listedeki ilk olan) kodu):

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

Ben SelectedIndex özellik ihtiyacım şey olduğunu düşünüyorum ama bunu almak anlamaya olamaz.

Teşekkür ederiz!

DÜZENLEME: SOLVED! Aşağıdaki aradığım tam olarak ne beni alır:

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

Bu her zaman benim için -1 değerini döndürür. Bir sorun ne olabilir? –

+0

Aynı burada .. her zaman -1 döndürür – veereev

cevap

1

ben aynı problem vardı. Dizini almak için ItemSource kullanmanız gerekir. Dizin için veri şablonu dizininizle eşleşmelidir.
int selectedIndex = selector.ItemsSource.IndexOf(selector.SelectedItem as ItemViewModel); 

Seçici, LongListSelector nesne gönderenini referans alır. Bu yardımcı olur umarım!

İlgili konular