Silverlight 如何在LongListSelector中获取选定的ContextMenu项?

Silverlight 如何在LongListSelector中获取选定的ContextMenu项?,silverlight,windows-phone-7,silverlight-toolkit,Silverlight,Windows Phone 7,Silverlight Toolkit,我有一个问题,我需要从LongListSelector中的ContextMenu获取所选项目。 在我使用普通的列表框之前,我使用了: var selectedItem = myList.ItemContainerGenerator.ContainerFromItem(menuItem.DataContext) as ListBoxItem; 但是现在我使用的是LongListSelector,这个方法不起作用 谁可以执行此操作?如果LongListSelector是数据绑定的,则可以使用Dat

我有一个问题,我需要从
LongListSelector
中的
ContextMenu
获取所选项目。 在我使用普通的
列表框之前,我使用了:

var selectedItem = myList.ItemContainerGenerator.ContainerFromItem(menuItem.DataContext) as ListBoxItem;
但是现在我使用的是
LongListSelector
,这个方法不起作用


谁可以执行此操作?

如果LongListSelector是数据绑定的,则可以使用
DataContext
属性访问所选项目

private void MenuItem_Click( object sender, RoutedEventArgs e ) {
    MyObject obj = ( sender as MenuItem ).DataContext as MyObject;
}

假设您的LongListSelector是数据绑定到MyObject对象列表的。

如果LongListSelector是数据绑定的,您可以使用
DataContext
属性访问所选项目

private void MenuItem_Click( object sender, RoutedEventArgs e ) {
    MyObject obj = ( sender as MenuItem ).DataContext as MyObject;
}

假设您的LongListSelector被数据绑定到MyObject对象列表。

ContainerFromItem(menuItem.DataContext)是否始终为空,或者仅在您将其强制转换到ListBoxItem之后才为空?为什么需要获取该项?也许您可以使用另一种方法?问题是,没有ItemContainerGeneratorIs ContainerFromItem(menuItem.DataContext)始终为空,或者仅在您将其强制转换为ListBoxItem后才为空?为什么需要获取该项?也许您可以使用另一种方法?问题是,没有ItemContainerGenerator