Коллекция форм Xamarin с множественным выбором - ограничить количество выбранных элементов - PullRequest
0 голосов
/ 10 октября 2019

Мне нужно ограничить количество выбранных элементов в моем CollectionView. Пример: у меня есть CollectionView с 20 элементами в списке, но пользователь может выбрать только 5 из 20. Возможно ли это?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 14 октября 2019

Это не идеально, но решает:

void OnCollectionViewSelectionChanged(object sender, SelectionChangedEventArgs e) {
   if (list.SelectedItems.Count > 5) 
   { 
      list.SelectedItems.Remove(list.SelectedItems[list.SelectedItems.Count - 1]); 
   } 
}
0 голосов
/ 10 октября 2019

Это возможно . Вы можете SelectableItemsView.SelectedItems Property узнать, сколько элементов будет выбрано.

И вызывая Событие SelectableItemsView.SelectionChanged для отслеживания его счета следующим образом:

XML:

    <CollectionView x:Name="collectionView"
                    ItemsSource="{Binding Monkeys}"
                    SelectionMode="Multiple"
                    SelectionChanged="collectionView_SelectionChanged"
                    SelectedItems="{Binding SelectedMonkeys}">
        ...
    </CollectionView>

ContentPage:

private void collectionView_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    Console.WriteLine("count is :" + collectionView.SelectedItems.Count);
    if(collectionView.SelectedItems.Count < 20 & collectionView.SelectedItems.Count >5)
    {
        // write code you want .
    }
}

Вот официальный документ , а также имеется официальный образец для справки.

...