LongListMultiSelector等效于windows phone 8.1通用应用程序

本文关键字:1通 应用程序 phone windows LongListMultiSelector | 更新日期: 2023-09-27 17:53:49

当创建为通用应用程序时,LongListMultiSelector在windows phone中的等效是什么?

我想做的就是在点击列表左边的时候提供复选框,但是我不知道怎么做。

我试过使用ListView,但要么显示复选框所有的时间(SelectionMode=多个)或从未(SelectionMode=None或Single),但这不是我想要的。

我应该用不同的方式处理这个吗?

我所拥有的是一堆的位置在列表和在我的命令栏,我有添加按钮,但我想让用户选择一个或多个位置,当他们在一个项目的左边点击我使用LongListMultiSelector时,让他们编辑(当一个被选中)或删除时,多个被选中,但当点击,它应该只是打开相关的位置。

我最近看到一个应用程序,其中添加工作相同,但为了查看/编辑/删除,用户选择一个或多个项目,命令栏上的按钮更改为查看(一个选择),编辑(一个选择)和删除(多个选择),但我不确定我喜欢关于"视图"选项,因为这需要2个步骤,因此更喜欢在左边点击显示复选框,并以这种方式提供编辑/删除。

谢谢

LongListMultiSelector等效于windows phone 8.1通用应用程序

我在最近的一个项目中也需要它!我发现最好的解决方案是使用QKit库中的MultiSelectListView !

在这里的codedplex: https://qkit.codeplex.com/

控件描述:

虽然内置的ListView控件支持多重选择,但显示复选框的动画对操作系统来说并不令人愉快或准确。使用MultiSelectListView,动画和用户体验几乎与操作系统中的多选择列表相同。不仅如此,这个控件允许你通过点击项目的左边缘来调用多选模式,就像在电子邮件应用中一样。

这是使用复选框选择多个列表项的基本框架。基本上,您可以对每个列表框项做任何您想做的事情。通过将数据绑定到复选框和复选框的内容。

然后由你来决定如何实现导航、可见性或内容。

<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