在我的 WP8 应用程序中,我想实现一个与标准邮件应用程序中的功能非常相似的功能——用户可以从列表中选择多个项目。我提供了一些屏幕截图来说明这种行为:
正常状态:
用户点击项目的左角,它变成蓝色:
项目被选中
我的问题是,这种多选功能是否是某些容器控件的标准选项,或者我是否应该进行一些自定义编程来实现这一点?在后一种情况下,您将采取什么最佳方法来实现这一点,请分享您的想法。
在我的 WP8 应用程序中,我想实现一个与标准邮件应用程序中的功能非常相似的功能——用户可以从列表中选择多个项目。我提供了一些屏幕截图来说明这种行为:
正常状态:
用户点击项目的左角,它变成蓝色:
项目被选中
我的问题是,这种多选功能是否是某些容器控件的标准选项,或者我是否应该进行一些自定义编程来实现这一点?在后一种情况下,您将采取什么最佳方法来实现这一点,请分享您的想法。
对于 WP8 多选,您需要使用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>
当您运行这些代码片段时,您可以看到以下内容:
您可以在此处阅读有关 Windows Phone 8 工具包的更多信息。
我的工具包中缺少 LonglistmultiSelector ..
如果我运行以下代码:
<toolkit:LongListMultiSelector x:Name="EmailList"
Margin="0,14,-12,0"
ItemsSource="{StaticResource EmailCollection}"
LayoutMode="List"
SelectionChanged="OnEmailListSelectionChanged"
IsSelectionEnabledChanged="OnEmailListIsSelectionEnabledChanged"
ItemTemplate="{StaticResource EmailItemTemplate}"
ItemInfoTemplate="{StaticResource EmailItemInfoTemplate}"
/>
如果得到错误:错误 1 名称“LongListMultiSelector”在命名空间“clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit”中不存在。