对。net MAUI的Telerik UI不熟悉吗?开始一个30天的免费试用

.NET MAUI组合框选择

. net MAUI的ComboBox使应用程序用户能够快速方便地从下拉列表中选择项目。本主题将介绍由ComboBox API提供的与项/项选择相关的功能。

ComboBox控件支持单个和多个选择。控件可以方便地指定所需的选择SelectionMode财产。

主要特性

  • SelectionMode类型的枚举Telerik.Maui.Controls.ComboBoxSelectionMode):定义选择是单个还是多个。
  • SelectedIndexint):指定当前选定项中第一项的索引,如果选定项为空,则为-1。
  • 设置SelectedItem对象):定义当前选定项中的第一项,如果选定项为空,则为空。
  • 设置selecteditemreadonly ObservableCollection <object >):获取当前选定项的集合。

设置selecteditem只能在以下情况下更改收集SelectionMode多个.为SelectionMode使用设置SelectedItem

单一的选择

默认的SelectinMode类型的枚举Telerik.Maui.Controls.ComboBoxSelectionMode)的组合框控件为

以Single Selection和SelectedIndex为例

下面是XAML中的ComboBox定义:

    < / telerik: RadComboBox >

需要添加的命名空间如下:

示例业务模型
公共类城市{公共字符串名称{get;设置;}公共int人口{得到;设置;}}

和使用的ViewModel:

公共类ViewModel{公共ViewModel(){这。项= new ObservableCollection <城市>{新城市{Name =“东京”,人口= 13929286},新的城市{Name =“纽约”,人口= 8623000},新的城市{Name =“伦敦”,人口= 8908081},新的城市{Name =“马德里”,人口= 3223334},新的城市{Name =“洛杉矶”,人口= 4000000},新的城市{Name = "巴黎"人口= 2141000},新城市人口= {Name = "北京",21540000},新的城市{Name =“新加坡”,人口= 5612000},新的城市{Name =“新德里”,人口= 18980000},新城市{Name = "曼谷",人口= 8305218},新城市{Name = "柏林",人口= 3748000},};}公共ObservableCollection Items {get;设置;}}

这是单一选择的样子:

组合框单一选择

单个选择和SelectedItem集合的示例

下面是XAML中的ComboBox定义:

    < / telerik: RadComboBox >

示例业务模型

公共类城市{公共字符串名称{get;设置;}公共int人口{得到;设置;}}

和使用的ViewModel:

公共类ViewModel: NotifyPropertyChangedBase{私有int selecteindex;private City selectedItem;private ObservableCollection selectedItems;公共ViewModel(){这个。项= new ObservableCollection <城市>{新城市{Name =“东京”,人口= 13929286},新的城市{Name =“纽约”,人口= 8623000},新的城市{Name =“伦敦”,人口= 8908081},新的城市{Name =“马德里”,人口= 3223334},新的城市{Name =“洛杉矶”,人口= 4000000},新的城市{Name = "巴黎"人口= 2141000},新城市人口= {Name = "北京",21540000},新的城市{Name =“新加坡”,人口= 5612000},新的城市{Name =“新德里”,人口= 18980000},新城市{Name = "曼谷",人口= 8305218},新城市{Name = "柏林",人口= 3748000},};这一点。selecteindex = 1;这一点。SelectedItem = this.Items[2]; } public ObservableCollection Items { get; set; } public ObservableCollection SelectedItems { get { return this.selectedItems; } set { if (this.selectedItems != value) { this.selectedItems = value; this.selectedItems.Add(this.Items[0]); this.selectedItems.Add(this.Items[1]); this.OnPropertyChanged(); } } } public int SelectedIndex { get { return this.selectedIndex; } set { if (this.selectedIndex != value) { this.selectedIndex = value; OnPropertyChanged(); } } } public City SelectedItem { get { return this.selectedItem; } set { if (this.selectedItem != value) { this.selectedItem = value; OnPropertyChanged(); } } } }
         
         

多个选择

如果要实现多重选择,则需要设置SelectionMode多个.多个选中的项目在令牌中可视化。

由于SelectedItems集合是只读的,为了在集合更改时收到通知,您应该收听CollectionChanged事件的发生设置selecteditem

设置了“多重选择”和“选定项”的示例

下面是XAML中的ComboBox定义:

    < / telerik: RadComboBox >

示例业务模型

公共类城市{公共字符串名称{get;设置;}公共int人口{得到;设置;}}

和使用的ViewModel:

公共类ViewModel: NotifyPropertyChangedBase{私有int selecteindex;private City selectedItem;private ObservableCollection selectedItems;公共ViewModel(){这个。项= new ObservableCollection <城市>{新城市{Name =“东京”,人口= 13929286},新的城市{Name =“纽约”,人口= 8623000},新的城市{Name =“伦敦”,人口= 8908081},新的城市{Name =“马德里”,人口= 3223334},新的城市{Name =“洛杉矶”,人口= 4000000},新的城市{Name = "巴黎"人口= 2141000},新城市人口= {Name = "北京",21540000},新的城市{Name =“新加坡”,人口= 5612000},新的城市{Name =“新德里”,人口= 18980000},新城市{Name = "曼谷",人口= 8305218},新城市{Name = "柏林",人口= 3748000},};这一点。selecteindex = 1;这一点。SelectedItem = this.Items[2]; } public ObservableCollection Items { get; set; } public ObservableCollection SelectedItems { get { return this.selectedItems; } set { if (this.selectedItems != value) { this.selectedItems = value; this.selectedItems.Add(this.Items[0]); this.selectedItems.Add(this.Items[1]); this.OnPropertyChanged(); } } } public int SelectedIndex { get { return this.selectedIndex; } set { if (this.selectedIndex != value) { this.selectedIndex = value; OnPropertyChanged(); } } } public City SelectedItem { get { return this.selectedItem; } set { if (this.selectedItem != value) { this.selectedItem = value; OnPropertyChanged(); } } } }
         
         

这就是多重选择的样子:

组合框多重选择

可以在我们的SDK浏览器应用.你可以在例子本地文件夹.NET MAUI的Telerik UI安装或在以下GitHub回购

事件

ComboBox公开了一个SelectionChanged事件,该事件在选择项时引发。

SelectionChanged事件处理程序接收两个参数:

  • 发送方也就是RadComboBox控件。
  • ComboBoxSelectionChangedEventArgs提供了以下属性:
    • AddedItems:添加到SelectedItemsCollection中的项
    • RemovedItems:从SelectedItmesCollection中删除的项

命令

ComboBox有两个与选择功能相关的命令:

  • SelectAllCommandICommand):从源中选择所有项。
  • ClearSelectionCommandICommand):将选择设置为空。如果使用multiselectionmode,该命令将清除所有选中的项。

另请参阅

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