Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin.forms 无法在CollectionView上选择同一项目两次_Xamarin.forms_Collectionview - Fatal编程技术网

Xamarin.forms 无法在CollectionView上选择同一项目两次

Xamarin.forms 无法在CollectionView上选择同一项目两次,xamarin.forms,collectionview,Xamarin.forms,Collectionview,我使用CollectionView控件来显示文件列表,如果用户单击某个项目,会出现一个弹出窗口,显示有关文件的信息和下载该文件的按钮,问题是我使用CollectionView的SelectionChanged方法来运行此操作,但如果用户关闭弹出窗口并再次单击同一项目,则不会发生任何事情。当我们使用ListView控件时,ItemTapped事件会在用户每次单击同一项时运行,但我需要更改为CollectionView,因为稍后我们会将文件项从单行更改为多列2或3 是否可以使用CollectionV

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

是否可以使用CollectionView控件让用户多次单击同一项目


p.D:也尝试将SelectedItem设置为null,但如果用户再次选择相同的项目,应用程序将崩溃。

当我将SelectedItem设置为null时,它对我有效。当您设置selectitem时,您还做了什么

下面是我的简单示例,我使用DisplayAlert而不是popup

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>  
效果如下:


当我将SelectedItem设置为null时,它对我有效。当您设置selectitem时,您还做了什么

下面是我的简单示例,我使用DisplayAlert而不是popup

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>  
效果如下:


当您将SelectedItem设置为null时,会出现什么异常?@Jason我得到的是System.NullReferenceException表单的哪个版本,哪个平台?这个.XF版本4.6.0.800存在几个与之相关的bug。我认为它是目前最稳定的版本,Android和IOS平台都是如此。当您将SelectedItem设置为null时,会出现什么异常?@Jason我得到一个System.NullReferenceException表单的哪个版本,哪个平台?有几个现有的bug与此相关。XF版本4.6.0.800我认为这是目前最新的稳定版本,Android和iOSOh平台都有,谢谢!!!,我意识到永远不要为SelectedItem添加空检查。我一定累坏了呵呵谢谢!!!,我意识到永远不要为SelectedItem添加空检查。我一定累坏了呵呵