C# 获取LongListSelector';s通过关联菜单选择索引

C# 获取LongListSelector';s通过关联菜单选择索引,c#,windows-phone-8,C#,Windows Phone 8,我正在使用一个LongListSelector,它附带了一个上下文菜单,作为XAML中ItemTemplate的一部分。我的上下文项目之一是编辑选项。在该选项的click事件中,我想获取正在编辑的项(即所选项)的LongListSelector索引,以便以后使用它。但是,我在让它工作时遇到了问题。我尝试了以下两件事: LongListSelector selector = (sender as MenuItem).DataContext as LongListSelector; int sel

我正在使用一个LongListSelector,它附带了一个上下文菜单,作为XAML中ItemTemplate的一部分。我的上下文项目之一是编辑选项。在该选项的click事件中,我想获取正在编辑的项(即所选项)的LongListSelector索引,以便以后使用它。但是,我在让它工作时遇到了问题。我尝试了以下两件事:

LongListSelector selector = (sender as MenuItem).DataContext as LongListSelector; 
int selectedIndex = selector.ItemsSource.IndexOf(selector.SelectedItem);
MessageBox.Show(string.Format("{0}", selectedIndex)); //What's the index?
但是,它总是返回-1

我还尝试直接访问列表,而不是通过发件人,如下所示:

int selectedIndex = listTypedNotes.ItemsSource.IndexOf(listTypedNotes.SelectedItem);
MessageBox.Show(string.Format("{0}", selectedIndex)); //What's the index?
这也返回-1


有什么想法吗?

我已经想出了答案

 NoteData data = (sender as MenuItem).DataContext as NoteData;
 int selectedIndex = App.ViewModel.TypedNote.Items.IndexOf(data);

因此,我基本上要求MenuItem从LongListSelector的选定项中提供信息,这是一个NoteData项。然后,我得到了该项目的索引,给我选择的索引

酷,你能解释一下你是如何找到答案的,以及它是如何解决问题的吗?当你确信自己的答案是正确的时,也要将自己的答案标记为已接受:)。当然!因此,我基本上要求MenuItem从LongListSelector的选定项中提供信息,这是一个NoteData项。然后,我得到了该项目的索引,给我选择的索引!哈哈,我的意思是把它贴在你的答案上,不是评论:P,但这也行。