不能在 CollectionView 上 select 相同的项目两次

Can't select same item twice on CollectionView

我使用 CollectionView 控件来显示文件列表,如果用户单击某个项目,会出现一个弹出窗口,显示有关该文件的信息和一个下载它的按钮,问题是我使用 [= CollectionView 到 运行 此操作的 12=] 方法,但如果用户关闭弹出窗口并再次单击同一项目,则不会发生任何事情。当我们使用 ListView 控件时,每次用户单击同一项目时 ItemTapped 事件 运行s,但我需要更改为 CollectionView 因为稍后我们会更改文件项从单行到多列(2 或 3)。

使用 CollectionView 控件可以让用户多次点击同一个项目吗?

P.D:也尝试将 SelectedItem 设置为空,但如果用户 select 再次使用同一项目,应用程序会崩溃。

当我将 SelectedItem 设置为 null 时它对我有用。当你设置 selectitem 时你还做了什么?

下面是我的简单示例,我使用 DisplayAlert 而不是弹出窗口。

xaml:

<CollectionView x:Name="collection" SelectionChanged="CollectionView_SelectionChanged" SelectionMode="Single" >
            <CollectionView.ItemsSource>
                <x:Array Type="{x:Type x:String}">
                    <x:String>Baboon</x:String>
                    <x:String>Capuchin Monkey</x:String>
                    <x:String>Blue Monkey</x:String>
                    <x:String>Squirrel Monkey</x:String>
                    <x:String>Golden Lion Tamarin</x:String>
                    <x:String>Howler Monkey</x:String>
                    <x:String>Japanese Macaque</x:String>
                </x:Array>
            </CollectionView.ItemsSource>
</CollectionView>  

第 xaml.cs 页:

private async void CollectionView_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        if (collection.SelectedItem != null)
        {
            await DisplayAlert("Question?", "Would you like to play a game", "Yes", "No");          
            collection.SelectedItem = null;

        }

    }

效果如下: