2012-01-13 3 views
0

문제가 있습니다. LongListSelectorContextMenu에서 선택한 항목을 가져와야합니다. 나는 정상적인 ListBox을 사용하고 있었고, 난이 함께했다 전에 :howto는 LongListSelector에서 선택한 ContextMenu 항목을 가져 옵니까?

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 개체 목록에 데이터 바인딩되어 있다고 가정합니다.

관련 문제