Documentation:
https://www.telerik.com/maui-ui/documentation/controls/collectionview/selection#selection-mode
Regards, Didi Progress Telerik
Solution:
Add a flag, use the SelectionChanged event and multiple selection. And implement a check so when item is selected to be removed from the selected items collection or set the SelectedItem to null.
xaml:
<telerik:RadCollectionView x:Name="collectionView" SelectionMode="Multiple" SelectionChanged="collectionView_SelectionChanged" ItemsSource="{Binding Locations}" DisplayMemberPath="City"/>
cs:
public partial class MainPage : ContentPage { ViewModel vm; private bool isUpdatingSelection; private object? lastSelectedItem; public MainPage() { InitializeComponent(); this.vm = new ViewModel(); this.BindingContext = this.vm; } private void collectionView_SelectionChanged(object sender, Telerik.Maui.RadSelectionChangedEventArgs e) { if (this.isUpdatingSelection) { return; } this.isUpdatingSelection = true; try { var selectedItems = this.collectionView.SelectedItems; if (e.AddedItems.Any()) { var currentItem = e.AddedItems.Last(); if (ReferenceEquals(currentItem, this.lastSelectedItem)) { selectedItems.Remove(currentItem); this.collectionView.SelectedItem = null; this.lastSelectedItem = null; return; } if (selectedItems.Count > 1) { selectedItems.Clear(); selectedItems.Add(currentItem); } this.collectionView.SelectedItem = currentItem; this.lastSelectedItem = currentItem; return; } if (selectedItems.Count == 0) { this.collectionView.SelectedItem = null; this.lastSelectedItem = null; } } finally { this.isUpdatingSelection = false; } } }