我需要限制从CollectionView中选择的项目的数量。 例如:我有一个CollectionView列表中有20个项目,但是用户只能从20个项目中选择5个。这可能吗?
谢谢!
答案 0 :(得分:0)
这是可能。您可以通过SelectableItemsView.SelectedItems Property知道选择了多少项。
并调用SelectableItemsView.SelectionChanged Event来监视其计数,如下所示:
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 .
}
}
答案 1 :(得分:0)
这不理想,但是可以解决:
void OnCollectionViewSelectionChanged(object sender, SelectionChangedEventArgs e) {
if (list.SelectedItems.Count > 5)
{
list.SelectedItems.Remove(list.SelectedItems[list.SelectedItems.Count - 1]);
}
}