[英]Windows Phone app - get index of item that called context menu
我有一个带有上下文菜单的ListBox
<ListBox>
<toolkit:ContextMenuService.ContextMenu>
<toolkit:ContextMenu IsZoomEnabled="True"x:Name="ContextMenu" >
<toolkit:MenuItem x:Name=”Open" Header=”Open Trailer" Click="nOpe_Click"/>
</toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>
</ListBox>
如何获取称为Open_Click事件的ListBox项的索引。
您的Open_Click事件的签名中应包含一个Object sender
。 这是您必须使用的。
sender
并将其转换为MenuItem
。 此MenuItem
将具有一个DataContext
此MenuItem
的DataContext
应该是ListBox
一个项目。
如果您有对该ListBox
的引用,则可以
var contextMenuOpenedIndex = ListBoxName.IndexOf((sender as MenuItem).DataContext)
这是相同的问题(和参考): ContextMenu事件处理程序中的ListBox.SelectedIndex
一个示例ItemTemplate:
<ListBox x:Name="SampleListBox">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<TextBlock Text="{Binding}">
... ContextMenu ...
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.