我有一个要显示为列表的对象集合。因此,我将此集合绑定LongListSelector
。集合中的所有项目均以列表形式出现。我想做的下一件事情是,当用户长按某个项目时,它将弹出一个带有删除,添加和其他选项的小窗口。
我应该怎么做?我在很多地方搜索,但对LongListSelector和上下文菜单一无所获
如果需要上下文菜单...,请查看the Phone Toolkit中的ContextMenu控件。
然后是一个有关如何添加此示例的示例,请查看工具包本身,但针对您的问题,您可以查看一个类似的question here...
简而言之,您只需在longlistselector的每个数据项上添加上下文菜单xaml
将上下文菜单放在LongListSelector上的简单代码:
<phone:LongListSelector x:Name="lls" LayoutMode="List" Margin="0,150,0,0">
<phone:LongListSelector.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Margin="12,2,0,4" Height="105" Width="432">
<Border BorderThickness="1" Width="99" Height="99" BorderBrush="#FFFFC700" Background="#FFFFC700"/>
<StackPanel Width="311" Margin="8,-7,0,0">
<toolkit:ContextMenuService.ContextMenu>
<toolkit:ContextMenu IsZoomEnabled="True">
<toolkit:MenuItem Header="Delete" Click="Delete_Click"/>
</toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>
<TextBlock Text="{Binding data}" TextWrapping="NoWrap" Margin="12,0,0,0" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
<TextBlock Text="{Binding resume}" TextWrapping="NoWrap" Margin="12,-6,0,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
</StackPanel>
</StackPanel>
</DataTemplate>
</phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>
您必须注意ContextMenuService.ContextMenu
。如果您将其排除在StackPanel
之外将不起作用。