2013-05-13 62 views
5

我有一個WP8 DataBound應用程序,ItemViewModel綁定到LongListSelector獲取LongListSelector的SelectedIndex項目

很簡單,當用戶點擊列表中的項目時,我需要檢索所選項目的索引號碼供將來使用。 (0是第一個在列表中,1是第二等)

所以,僅僅因爲這可能會檢索所選項目的某些屬性:

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

我需要的是這樣的(顯然由代碼):

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

我覺得SelectedIndex屬性是我需要的東西,但我無法弄清楚如何找回它。

謝謝!

編輯:求助!以下是我正在尋找的內容:

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

這總是爲我返回-1。任何想法可能是什麼問題? – 2013-09-26 15:43:40

+0

這裏一樣..總是返回-1 – veereev 2013-10-11 07:41:05

回答

1

我遇到了同樣的問題。您需要使用ItemSource來檢索索引。它應該匹配您的索引數據模板索引。

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

選擇器引用LongListSelector對象的發件人。希望這可以幫助!