LongListSelector和上下文菜单

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LongListSelector和上下文菜单相关的知识,希望对你有一定的参考价值。

我有一个要显示为列表的对象集合。因此,我将此集合绑定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之外将不起作用。

以上是关于LongListSelector和上下文菜单的主要内容,如果未能解决你的问题,请参考以下文章

LongListSelector:项目点击?

WP8 LongListSelector - 重新分配 ItemsSource 无效

用于 Xamarin.Forms 的带有标头 (LongListSelector) 的 ListView

多线程上下文切换

如何在 windows phone 7 中禁用 LongListSelector 中的滚动视图

1.1多线程上下文切换