Xamarin.Forms 所选项目为空

Xamarin.Forms Selected Item is null

这是我的 xaml:

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="InstagramCloneInterviewApp.MainPage"
             x:Name="CurrentPage"
             Title="Photos">
    <ContentPage.Content>
        <Grid>
            <StackLayout>
                <RefreshView IsRefreshing="{Binding IsRefreshing, Mode=OneWay}"
             Command="{Binding LoadRefreshCommand}">
                    <CollectionView ItemsSource="{Binding Photos}" SelectionMode="Single" SelectedItem="{Binding SelectedPhoto}" RemainingItemsThreshold="{Binding CounterData}" RemainingItemsThresholdReachedCommand="{Binding LoadNewPhotosCommand}" >
                        <CollectionView.ItemTemplate>
                            <DataTemplate>
                          
                                    <Grid   Padding="10">
                                        <Grid.ColumnDefinitions>
                                            <ColumnDefinition Width="*"/>
                                             <ColumnDefinition Width="3*"/>
                                    </Grid.ColumnDefinitions>
                                        <Grid.GestureRecognizers>
                                            <TapGestureRecognizer  Command="{Binding Source={x:Reference CurrentPage}, Path=BindingContext.LoadSelectedPhotoCommand}" />
                                        </Grid.GestureRecognizers>
                                    <Image Aspect="AspectFit" HeightRequest="50" Source="{Binding Url}"  Grid.Column="0"></Image>
                                    <Label Text="{Binding Title}" Grid.Column="1"></Label>
                                </Grid>
                            
                            </DataTemplate>
                        </CollectionView.ItemTemplate>
                    </CollectionView>
                </RefreshView>
            </StackLayout>
            <StackLayout HorizontalOptions="CenterAndExpand" VerticalOptions="Center">
                <Frame IsVisible="{Binding IsBusy}" BorderColor="#3498DB" HasShadow="False" BackgroundColor="#eeeeee">
                    <StackLayout>
                        <ActivityIndicator IsVisible="{Binding IsBusy}" IsRunning="{Binding IsBusy}" HorizontalOptions="Center" VerticalOptions="Center"></ActivityIndicator>
                        <Label TextColor="#3498DB" Text="Loading Data, Please Wait..." HorizontalTextAlignment="Center" VerticalTextAlignment="Center" HorizontalOptions="Center" VerticalOptions="Center" IsVisible="{Binding IsBusy}"/>
                    </StackLayout>
                </Frame>
            </StackLayout>
        </Grid>
    </ContentPage.Content>
 
</ContentPage>

这是 ViewModel 中的 SelectedPhoto 对象:

        public Photo SelectedPhoto
        {
            get { return selectedPhoto; }
            set
            {
                if (selectedPhoto != value)
                {
                    selectedPhoto = value;
                    SetProperty(ref selectedPhoto, value);
                    OnPropertyChanged("SelectedPhoto");
                }
            }
        }

这是我从 Grid.TapGestureRecognizerLoadSelectedPhotoCommand:

那里得到的任务
        async Task ExecuteGetDetailsSelectedPhoto()
        {
            if (IsBusy)
                return;
            try
            {
                var test= SelectedPhoto;
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
                var msg = ex.Message;
            }
            finally
            {
                IsBusy = false;
            }
        }

var test 始终为空。

似乎没有点击项目。有没有人有类似的经验或更好的想法来解决这个问题?

问题是网格 TapGesture 覆盖所有 space 并且 SelectMode 不起作用