Category / Section
How to restrict chip selection in Xamarin
1 min read
This article explains how to restrict the chip selection in Xamarin ChipGroup.
Consider if your requirement is to restrict a specific chip from the selection process, it can be achieved by controlling the selection functionality using the SelectionChanging event Cancel argument.
Note:
It restricts the chip selection when you set Cancel value to true.
Here, users are allowed to select all languages except Java.
XAML
<buttons:SfChipGroup Type="Filter" ItemsSource="{Binding Languages}" SelectedChipBackgroundColor="Red" ChipPadding="8,8,0,0" SelectionIndicatorColor="White" SelectionChanging="SfChipGroup_SelectionChanging" DisplayMemberPath="Name"> </buttons:SfChipGroup>
C#
private void SfChipGroup_SelectionChanging(object sender, Syncfusion.Buttons.XForms.SfChip.SelectionChangingEventArgs e) { if(e.AddedItem != null && (e.AddedItem as Language).Name.Equals("Java")) { e.Cancel = true; } }
public class ViewModel : INotifyPropertyChanged { private ObservableCollection<Language> languages; public ObservableCollection<Language> Languages { get { return languages; } set { languages = value; OnPropertyChanged("Languages"); } } public ViewModel() { Languages = new ObservableCollection<Language>(); Languages.Add(new Language () { Name = "C#" }); Languages.Add(new Language () { Name = "HTML" }); Languages.Add(new Language () { Name = "Java" }); Languages.Add(new Language () { Name = "JS" }); } .. }
Output
See Also:
What are the types available in ChipGroup?
What are the customizations available in ChipGroup?
How to notify selection changes in ChipGroup?