【发布时间】:2019-10-09 22:27:40
【问题描述】:
我需要限制我的 CollectionView 中选定项目的数量。 例如:我有一个 CollectionView,列表中有 20 个项目,但用户只能从 20 个项目中选择 5 个。这可能吗?
谢谢!
【问题讨论】:
标签: xamarin xamarin.forms collectionview
我需要限制我的 CollectionView 中选定项目的数量。 例如:我有一个 CollectionView,列表中有 20 个项目,但用户只能从 20 个项目中选择 5 个。这可能吗?
谢谢!
【问题讨论】:
标签: xamarin xamarin.forms collectionview
可能。您可以通过SelectableItemsView.SelectedItems Property 了解选择了多少项目。
并调用SelectableItemsView.SelectionChanged Event 来监控其计数如下:
XML:
<CollectionView x:Name="collectionView"
ItemsSource="{Binding Monkeys}"
SelectionMode="Multiple"
SelectionChanged="collectionView_SelectionChanged"
SelectedItems="{Binding SelectedMonkeys}">
...
</CollectionView>
内容页面:
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 .
}
}
【讨论】:
虽然不理想,但可以解决:
void OnCollectionViewSelectionChanged(object sender, SelectionChangedEventArgs e) {
if (list.SelectedItems.Count > 5)
{
list.SelectedItems.Remove(list.SelectedItems[list.SelectedItems.Count - 1]);
}
}
【讨论】: