LongListSelector和上下文菜单

时间:2013-02-12 13:48:41

标签: c# silverlight windows-phone-7

我有一组对象,我想将其显示为列表。所以,我正在绑定LongListSelector这个集合。集合中的所有项目都以列表的形式显示。接下来我要做的是当用户长按一个项目,这样它会弹出一个带删除,添加和其他选项的小窗口。

我应该怎么做?我搜索很多地方,没有找到任何关于LongListSelector和上下文菜单

2 个答案:

答案 0 :(得分:3)

如果您需要上下文菜单...请查看the Phone Toolkit中的ContextMenu控件。

然后,有关如何添加此内容的示例,请查看工具包本身,但更具体地针对您的问题,您可以查看类似的question here...

简而言之,您只需在longlistselector的每个数据项上添加上下文菜单xaml

答案 1 :(得分:-1)

将上下文菜单放在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之外(在我的例子中),它就不起作用了。