新的Telerik UI。net MAUI?开始30天的免费试用

.NET MAUI列表视图选择

ListView组件公开了选择功能。它允许对ListView项进行单个或多个选择。该特性为用户的操作提供了可视化和程序化的反馈。你也可以禁用这个选择。

选择模式

ListView提供了三种选择模式,允许您操作选择的类型。这是由SelectionModeTelerik.XamarinForms.DataControls.ListView.SelectionMode)属性,该属性包含以下条目:

  • 没有一个-该模式不允许用户选择一个项目。
  • -这是默认的选择模式。它只允许用户选择一个项目。
  • 多个-该模式允许用户选择多个项目。

检查下面如何设置SelectionMode在XAML和代码背后:

var listView = new RadListView();列表视图。SelectionMode = telerik . xamarinforms . datacontrolls . listview .SelectionMode. multiple;

选择手势

控件来配置最终用户如何触发选择SelectionGestureTelerik.XamarinForms.DataControls.ListView.SelectionGesture)属性:

  • 利用-轻按一个项目选择它。这是默认值SelectionGesture价值。
  • 持有-轻按并按住一个项目来选择它。
var listView = new RadListView();列表视图。SelectionGesture = telerik . xamarinforms . datacontrolls . listview .SelectionGesture. hold;

选择项

ListView提供设置SelectedItem对象)属性,该属性指定ListView的最后一个选择项。

精选项目收藏

ListView提供设置selecteditemObservableCollection< object>属性,该属性是一个只读集合,用于获取当前选择的项。

选择事件

ListView提供SelectionChanged事件,该事件将在设置selecteditem集合被更改。的SelectionChanged事件处理程序接收两个参数:

  • 类型为object的sender参数,但可以转换为RadListView类型。
  • 一个NotifyCollectionChangedEventArgs对象,该对象提供关于集合更改事件的信息。有关详细信息,请参阅NotifyCollectionChangedEventArgs类的话题。

样式化所选项目

您可以通过应用程序自定义选定项目的外观SelectedItemStyle属性RadListView实例。有关该方法的详细信息,请参见产品风格ListView文档中的主题。

例子

下面的示例展示了如何利用ListView选择特性,并演示了如何设置多个选择,应用所选项样式,以及在列表中检索所选项视图模型类。

首先,创建一个视图模型类的两个集合(一个用于ItemsSource列表视图的设置selecteditem.为了本例的目的,ListView被绑定到一个字符串集合:

public class ViewModel: NotifyPropertyChangedBase {private ObservableCollection _selectedNames;public ViewModel() {this。Names = new ObservableCollection() {"Tom", "Anna", "Peter", "Teodor", "Lorenzo", "Andrea", "Martin"};} public ObservableCollection Names {get;设置;} public ObservableCollection SelectedNames {get {return this._selectedNames;} set {if (this。_selectedNames != value) {if(此。{this._selectedNames != null)CollectionChanged -= this.SelectedNamesCollectionChanged; } this._selectedNames = value; if (this._selectedNames != null) { this._selectedNames.CollectionChanged += this.SelectedNamesCollectionChanged; } OnPropertyChanged("SelectedNames"); } } } private void SelectedNamesCollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { if (this.SelectedNames.Count > 0) { App.DisplayAlert($"Selected items: {string.Join(",", this.SelectedNames.ToArray())}"); } } }
         
         

接下来,添加一个RadListView实例到应用选择属性的页面:

    < / telerik: RadListView >

添加telerik名称空间:

xmlns: telerik = " http://schemas.telerik.com/2022/xaml/maui "

设置视图模型类作为BindingContext打电话给InitializePickers ()方法:

这一点。BindingContext = new ViewModel();

下图显示了当选择多个项时,ListView在不同平台上的样子:

ListView多重选择

对于ListView Selection示例,转到sdk浏览器演示应用程序并导航到ListView ->选择类别。

另请参阅

在本文中
找不到你需要的帮助?
Baidu