我有一个WP8 DataBound应用,ItemViewModel
绑定到LongListSelector
。
很简单,当用户点击列表中的某个项目时,我需要检索所选项目的索引号以供将来使用。 (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)
我遇到了同样的问题。您需要使用ItemSource来检索索引。它应与索引的数据模板索引匹配。
int selectedIndex = selector.ItemsSource.IndexOf(selector.SelectedItem as ItemViewModel);
选择器引用LongListSelector对象发送方。希望这有帮助!