StackLayout上的GestureRecognizers无法识别Xamarin跨平台中的点击

时间:2018-07-16 20:35:11

标签: android xamarin visual-studio-2017

我是Xamarin Platform的新手。我创建了一个网格,在其中有我要应用GestureRecognizers的StackLayout。我正在Android平台上使用Xamarin Live Player部署应用程序。 我正在使用最新版本的Xamarin.Forms 3.1

未检测到/未执行点击。有人可以帮我吗? 我已经尝试过根据Google上的各种帖子进行追踪。

  • 在StackLayout上使用InputTransparent =“ True”
  • 删除StackLayout的背景颜色
  • 在每个控件上应用GestureRecognizers

以上均未解决问题。

这是我的代码段:

<Grid x:Name="GridMain">
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>


        <!-- PANEL 1 -->

        <ContentView
        Grid.Row="0"
        IsVisible="True" BackgroundColor="White" x:Name="MainView">
        </ContentView>
        <Grid ColumnSpacing="0" RowSpacing="0" Grid.Row="1">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>
            <StackLayout Orientation="Vertical" x:Name="Store" InputTransparent="True" HorizontalOptions="Center" Padding="20" Margin="-20,-10,-20,-17" Grid.Column="0">
                <StackLayout.GestureRecognizers>
                    <TapGestureRecognizer Tapped="TapGestureRecognizer_Tapped" NumberOfTapsRequired="1" />
                </StackLayout.GestureRecognizers>
                <Image x:Name="baseline_store_black_24dp" IsVisible="True" Source="baseline_store_black_24dp.png" HeightRequest="22" WidthRequest="25" Margin="0,0,0,-2">
                </Image>
                <Label Margin="0" x:Name="tab_home" Text="Store" FontSize="Micro"/>
            </StackLayout>
    </Grid>
</Grid>

编辑: 这是我的TapGestureRecognizer_Tapped代码

private void TapGestureRecognizer_Tapped(object sender, EventArgs e)
   {
        var page = new Home();
        MainView.Content = page.Content;

    }

0 个答案:

没有答案