获取LongListSelector项的SelectedIndex

use*_*614 5 c# data-binding silverlight windows-phone-7

我有一个ItemViewModel绑定到的WP8 DataBound应用程序LongListSelector.

很简单,当用户点击列表中的项目时,我需要检索所选项目的索引号以供将来使用.(0是列表中的第一个,1是第二个,等等)

因此,正如这可能会检索所选项目的某个属性:

string whateverProperty = (MyLongListSelector.SelectedItem as ItemViewModel).WhateverProperty;
Run Code Online (Sandbox Code Playgroud)

我需要这样的东西(显然是代码):

int indexNumber = (MyLongListSelector.SelectedItem as ItemViewModel).GetSelectedIndex();
Run Code Online (Sandbox Code Playgroud)

我认为SelectedIndex属性是我需要的东西,但我无法弄清楚如何检索它.

谢谢!

编辑:解决了!以下内容让我知道我正在寻找的内容:

 int selectedIndex = App.ViewModel.Items.IndexOf(MainLongListSelector.SelectedItem as ItemViewModel);
Run Code Online (Sandbox Code Playgroud)

小智 1

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

int selectedIndex = selector.ItemsSource.IndexOf(selector.SelectedItem as ItemViewModel);
Run Code Online (Sandbox Code Playgroud)

选择器引用 LongListSelector 对象发送者。希望这可以帮助!