获取LongListSelector项的SelectedIndex

时间:2013-05-13 02:27:12

标签: c# silverlight windows-phone-7 data-binding

我有一个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);

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。您需要使用ItemSource来检索索引。它应与索引的数据模板索引匹配。

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

选择器引用LongListSelector对象发送方。希望这有帮助!