[英]LongListMultiSelector equivalent in windows phone 8.1 universal app
作为通用应用程序创建时,Windows Phone中的LongListMultiSelector等效于什么?
我要做的就是在列表左侧点击时提供复选框,但我不知道该怎么做。
我尝试使用ListView,但是它始终显示复选框(SelectionMode = Multiple)或从不显示复选框(SelectionMode = None或Single),但这不是我想要的。
我应该以不同的方式处理吗?
我在列表中有很多位置,在命令栏中,我有添加按钮,但是我想让用户像我一样在点击项目左侧时选择一个或多个位置当使用LongListMultiSelector并让他们进行编辑(选择一个)时,或者当选择多个但被点击时删除它们时,应该只打开相关位置。
我最近看过一个应用程序,其添加功能相同,但是为了查看/编辑/删除,用户选择一个或多个项目,命令栏上的按钮变为查看(选择一个),编辑(选择一个)和删除(多选),但是我不确定我是否喜欢“查看”选项,因为这需要2个步骤,因此更喜欢点击左侧的内部以显示复选框并以此方式提供编辑/删除。
谢谢
我在最近的项目中也需要它! 我发现的最佳解决方案是使用QKit
库中的MultiSelectListView
!
它在codedplex上: https ://qkit.codeplex.com/
控件说明:
尽管内置的ListView控件支持多项选择,但是显示CheckBoxes的动画对于操作系统而言并不令人满意。 使用MultiSelectListView,动画和UX与OS中的多选列表几乎相同。 不仅如此,该控件还允许您通过点击项目左边缘来调用多选模式,就像在电子邮件应用程序中一样。
这是通过复选框选择多个列表项的基础。 基本上,您可以对每个列表框项目执行任何操作。 通过将数据绑定到复选框和复选框的内容。
然后由您自己决定如何实现导航,可见性或内容。
<ListBox x:Name="ListBox1" ItemsSource="{Binding}" SelectionMode="Multiple" >
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox x:Name="checkBox"
IsChecked="{Binding MyBindingChecked}"
Content="{Binding MyBindingText}"
Checked="Checked_Handler"
Unchecked="Unchecked_Handler"
使用这些方法,然后可以实现导航等。
// Handler for checked items.
private void Checked_Handler(object sender, RoutedEventArgs e)
{
HandleChecked(sender as CheckBox);
}
// Handler for unchecking items.
Private void Unchecked_Handler(object sender, RoutedEventArgs e)
{
HandleUnchecked(sender as CheckBox);
}
// Handle code for Checked handler.
private void HandleChecked(CheckBox checkBox)
{// TODO
// Handle code for Unchecked handler.
private void HandleUnchecked(CheckBox checkBox)
{// TODO
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.