Xamarin 如何进行多选列表查看并获取所选项目?

Xamarin 如何进行多选列表查看并获取所选项目?,xamarin,xamarin.forms,xamarin.android,xamarin.ios,Xamarin,Xamarin.forms,Xamarin.android,Xamarin.ios,我有一个汽车品牌的列表视图。我正在做一个基本的调查应用程序,用户需要选择所有适用的。到目前为止,我只能做的是得到一个选定的项目的基础上在线教程。有没有办法使用多选列表视图并获取值?或者我还能做些什么来实现这一目标 var listView = new ListView(); listView.ItemsSource = new string[] { "Honda", "Toyota", "Ford", "Tesla" }; 首先,不要将字符串数组分配给ItemsSource。将

我有一个汽车品牌的列表视图。我正在做一个基本的调查应用程序,用户需要选择所有适用的。到目前为止,我只能做的是得到一个选定的项目的基础上在线教程。有没有办法使用多选列表视图并获取值?或者我还能做些什么来实现这一目标

var listView = new ListView();
listView.ItemsSource = new string[]
{
  "Honda",
  "Toyota",
  "Ford",
  "Tesla"
};

首先,不要将字符串数组分配给ItemsSource。将您的ItemsSource绑定到ObservableCollection。当您这样做时,无论何时更改集合,列表都将更新。有关更多信息,请查看


其次,现成的Xamarin.Forms不提供选择多个项目的选项。不过,您可以执行以下操作

您需要做的第一件事是制作一个通用的东西,如下所示:

public class SelectableData<T> 
{ 
  public T Data { get; set; }
  public bool Selected { get; set; } 
}
要获取所选项目,请使用for each循环遍历
数据列表
,并检查所选属性,如下所示:

public ObservableCollection<SelectableData<ExampleData>> DataList { get; set; }
foreach(var item in DataList)
{
   item.Selected // true if selected else false.
}

使用按钮添加一种复选框类型的控件,在此基础上,您只需迭代该属性即可找到要添加的控件selected@G.hakim你能告诉我怎么做吗?我仍在学习列表视图的基本功能。你能添加你正在使用的模型吗?然后也许我能想出点什么吗?@G.hakim我刚刚用了这个,在下面添加了一个答案,并表示理解。那么我如何获得所选项目呢?哦,是的,给我一分钟公共类示例数据这是一个单独的文件还是文件中的一个类?这个公共类SelectableData是一个单独的文件还是在文件中呢?你可以用示例或单独的方式添加它,这很好,两个都是单独的类最后一个问题我在导航到我登录的选项卡页面时遇到问题,我使用了wait Application.Current.MainPage.Navigation.PushModalAsync(new TabbedPage());要在单击按钮时导航到我的选项卡页,选项卡页将不显示任何内容
 public class ExampleData
{
  public string Name { get; set; }
  public string Description { get; set; }
}
foreach(var item in DataList)
{
   item.Selected // true if selected else false.
}