まず第一に、私はこのトピックについて知っています: How to make context menu work for windows phone?
しかし、この方法は非常に複雑です...だから私はこのXAMLコードを持っています:
<StackPanel Name="friendsGrid" Margin="0,0,0,0" Background="Transparent">
<ListBox Name="friendsListBox" FontSize="32" Tap="friendsListBox_Tap">
<toolkit:ContextMenuService.ContextMenu>
<toolkit:ContextMenu Name="MyContextMenu" Opened="MyContextMenu_Opened">
<toolkit:MenuItem Header="action" Click="contextMenuAction_Click"/>
</toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>
</ListBox>
</StackPanel>
そして、私は次のようにリストを埋めています:
this.friendsListBox.Items.Add(friend.serviceName);
しかしもちろん、ロングタップすると、コンテキスト メニューが表示され、1 つの項目だけでなく、リスト全体が選択されます。
アイテムがタップされたことを認識する簡単な方法はありますか? ありがとう
ところで、このメソッドを見つけましたが、contextMenuListItem は何も受信しません。まだ null です。
ListBoxItem contextMenuListItem = friendsListBox.ItemContainerGenerator.ContainerFromItem((sender as ContextMenu).DataContext) as ListBoxItem;