Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Xamarin表单创建Multiselect Listview(Xamarin跨平台)_Listview_Xamarin_Multi Select_Xamarin Forms - Fatal编程技术网

使用Xamarin表单创建Multiselect Listview(Xamarin跨平台)

使用Xamarin表单创建Multiselect Listview(Xamarin跨平台),listview,xamarin,multi-select,xamarin-forms,Listview,Xamarin,Multi Select,Xamarin Forms,我正在尝试在Listview的每个项目中实现一个带有复选框控件的Listview。如果我想删除两个项目,我将选中这两个项目,然后单击“删除它应该删除”。我对这种概念进行了更多探索,但在Github中也找不到单个演示示例 编程语言:Xamarin表单不在Xamarin android或Xamain IOS中。我已经知道如何在这些平台上实现。但我没有任何示例代码,至少可以更好地理解“Xamarin表单中的多选择和删除操作” 使用SwitchCell(此处示例:)) 或创建自定义ViewCell布局

我正在尝试在Listview的每个项目中实现一个带有复选框控件的Listview。如果我想删除两个项目,我将选中这两个项目,然后单击“删除它应该删除”。我对这种概念进行了更多探索,但在Github中也找不到单个演示示例

编程语言:Xamarin表单不在Xamarin android或Xamain IOS中。我已经知道如何在这些平台上实现。但我没有任何示例代码,至少可以更好地理解“Xamarin表单中的多选择和删除操作”

  • 使用
    SwitchCell
    (此处示例:))
或创建自定义
ViewCell
布局(自定义单元格章节)

  • SwitchCell.OnProperty
    YourCustomViewCell.Checkbox.CheckedProperty
    ViewModel.ObservableCollection.IsChecked
    属性绑定(如SwitchEntryTwoBinding示例)

  • 然后,您可以创建一个
    按钮
    工具栏项
    ,该按钮调用迭代
    视图模型中每个项的方法。ObservableCollection
    ,并在
    IsChecked=true时将其删除

      • 使用
        SwitchCell
        (此处示例:))
      或创建自定义
      ViewCell
      布局(自定义单元格章节)

      • SwitchCell.OnProperty
        YourCustomViewCell.Checkbox.CheckedProperty
        ViewModel.ObservableCollection.IsChecked
        属性绑定(如SwitchEntryTwoBinding示例)

      • 然后,您可以创建一个
        按钮
        工具栏项
        ,该按钮调用迭代
        视图模型中每个项的方法。ObservableCollection
        ,并在
        IsChecked=true时将其删除


      首先创建一个带有开关的自定义单元(或实现
      SwitchCell
      )。然后将开关的值绑定到数据模型中的bool。然后,在button clicked事件上,一个简单的Linq查询就可以实现这一点


      确保您的项目列表是一个可观察的集合
      ,这样当您删除项目时,更改会正确传播到列表视图。

      首先创建一个带有开关的自定义单元格(或实现
      开关单元格
      )。然后将开关的值绑定到数据模型中的bool。然后,在button clicked事件上,一个简单的Linq查询就可以实现这一点


      确保您的项目列表是一个可观察的集合,这样当您删除项目时,更改会正确传播到ListView。

      我们在这里创建了一个多选ListView控件。它可以在所有平台上工作,并且没有特定于平台的代码。

      这里有一个完整的示例:

      这对于异步行为非常有效。也就是说,您可以按任何顺序设置ItemsSource或SelectedItems。回购协议中有一个多选样本:

      还有一种使用按钮切换选择模式的行为,以便您可以跳转到所选记录,或在listview中选择多个记录:

      此行为是相关的,因为它允许您从listview中删除选定的项目:


      不幸的是,这目前不支持复选框,但该功能不需要复选框就可以工作,我们将来可能会添加该功能。

      我们在这里创建了一个多选ListView控件。它可以在所有平台上工作,并且没有特定于平台的代码。

      这里有一个完整的示例:

      这对于异步行为非常有效。也就是说,您可以按任何顺序设置ItemsSource或SelectedItems。回购协议中有一个多选样本:

      还有一种使用按钮切换选择模式的行为,以便您可以跳转到所选记录,或在listview中选择多个记录:

      此行为是相关的,因为它允许您从listview中删除选定的项目:


      不幸的是,这目前不支持复选框,但该功能不需要复选框就可以工作,我们将来可能会添加该功能。

      MVVM介绍如何拥有一个Xamarin.Forms.ListView来保存一组可选择删除的项目。通过按钮命令启动删除

      查看:

      • 保留
        列表视图
      • ListView单元格
        可以是
        SwitchCell
        或带有可绑定到布尔值的控件的自定义单元格(最好是Xamarin.Forms.Switch)
      • 保留一个
        按钮“删除项目”
      型号:

      • 实现
        INotifyPropertyChanged
        接口(更新视图)
      • 保存任何附加数据
      • 保存一个
        公共bool ShouldBeDeleted
        {…setter调用PropertyChanged()…),它将绑定到
        Xamarin.Forms.Switch.IsToggled可绑定属性
      视图模型:

      • 是视图的
        BindingContext
      • 保存
        模型的
        实例的
        IList/IEnumerable
      • IList/IEnumerable将设置为视图ListView的
        “ItemsSource”-属性
      • 保存绑定到“删除项”按钮的
        命令属性
        的命令。此命令应调用一个方法,该方法在IList/IEnumerable中循环并删除任何应作为true删除的项
      • 对ItemList使用
        ObservableCollection
        。它在添加、删除模型或清除/刷新列表时更新视图

      MVVM如何拥有一个包含一组可选择删除的项目的Xamarin.Forms.ListView的方法。删除通过按钮命令启动

      查看:

      • 保留
        列表视图
      • ListView单元格
        SwitchCell
        或cust