2012-01-13 15 views
0

私は問題があります、LongListSelectorContextMenuから選択したアイテムを取得する必要があります。私は通常のListBoxを使用していたし、私はそれをやった前 :HowToは、選択したContextMenu項目をLongListSelectorで取得しますか?

var selectedItem = myList.ItemContainerGenerator.ContainerFromItem(menuItem.DataContext) as ListBoxItem; 

しかし、今、私はLongListSelectorを使用していますし、この方法は動作しません。

どうすればいいですか?

+0

ContainerFromItem(menuItem.DataContext)は常にnullか、またはListBoxItemにキャストした後にのみ表示されますか? – terphi

+1

商品を手に入れる必要があるのはなぜですか?多分あなたは別のアプローチを使うことができますか? –

+0

問題は、ItemContainerGeneratorがありません – gurehbgui

答えて

4

LongListSelectorがデータバインドされている場合は、DataContextプロパティを使用して選択したアイテムにアクセスできます。

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

LongListSelectorがMyObjectオブジェクトのリストにデータバインドされていると仮定します。

関連する問題