实施具有多个选择的项目列表

src*_*091 4 user-interface xaml multipleselection windows-phone-8

在我的WP8应用程序中,我想实现一个与标准邮件应用程序中非常相似的功能 - 用户可以从列表中选择多个项目.我提供了一些截图来说明这种行为:

正常状态:
正常状态

用户点击项目的左上角,它变为蓝色: 用户点击项目的左角,它变为蓝色

项目已被选中
项目已被选中

我的问题是,这种多选功能是否是某些容器控件的标准选项,或者我是否应该进行一些自定义编程来实现这一目标?在后一种情况下,您采取的最佳方法是什么,请分享您的想法.

Jus*_*gel 11

对于WP8 Multi-Selection,您需要使用Windows Phone Toolkit的LongListMultiSelector.

您可以在此处找到有关如何使用LongListMultiSelector的代码示例(此处为后面的代码).以下是相关的XAML代码段:

    <phone:PivotItem x:Name="BuddiesPivotItem" Header="Std longlistmultiselector">
        <toolkit:LongListMultiSelector x:Name="buddies" Background="Transparent"
                Margin="0,-8,0,0"
                ItemsSource="{StaticResource buddies}"
                LayoutMode="List"
                IsGroupingEnabled="True"
                HideEmptyGroups="True"
                JumpListStyle="{StaticResource BuddiesJumpListStyle}"
                GroupHeaderTemplate="{StaticResource BuddiesGroupHeaderTemplate}"
                ItemTemplate="{StaticResource BuddiesItemTemplate}"
    />
    </phone:PivotItem>

    <phone:PivotItem x:Name="GridModeItem" Header="Grid mode">
        <toolkit:LongListMultiSelector x:Name="GridSelector"
               ItemsSource="{StaticResource PicturesAlbum}"
               IsGroupingEnabled="False"
               GridCellSize="210,180"
               LayoutMode="Grid"
               HideEmptyGroups="True"
               ItemTemplate="{StaticResource PictureItemTemplate}"
               IsSelectionEnabledChanged="OnGridSelectorIsSelectionEnabledChanged"
               SelectionChanged="OnGridSelectorSelectionChanged"
        />
    </phone:PivotItem>
Run Code Online (Sandbox Code Playgroud)

运行这些代码段时,您可以看到以下内容:

LongListMutliSelector打印屏幕

您可以在此处阅读有关Windows Phone 8工具包的更多信息.