如何在 Xamarin.Forms 中使用 Tap Gesture 调用另一个页面?

Posted

技术标签:

【中文标题】如何在 Xamarin.Forms 中使用 Tap Gesture 调用另一个页面?【英文标题】:How to call another page using Tap Gesture in Xamarin.Forms? 【发布时间】:2016-05-04 06:47:17 【问题描述】:

我创建了一个图像按钮并将一个点击手势放入其中。我希望我的图像按钮调用另一个页面,但我不知道如何在不使用 Navigation.PushAsync 的情况下执行此操作,但这导致我出现此错误“android 上不支持全球范围内的 PushAsync,请使用导航页面。”

这是我的 XAML 代码。

<Image Source="add.jpg">
  <Image.GestureRecognizers>
    <TapGestureRecognizer

            Tapped="TapGestureRecognizer_OnTapped"
            NumberOfTapsRequired="1" />
  </Image.GestureRecognizers>
</Image>

这是我的 XAML.CS 代码。

    private void TapGestureRecognizer_OnTapped(SecondPage secondPage)
    
        Navigation.PushAsync(new SecondPage());

    

【问题讨论】:

【参考方案1】:

如果您需要使用PushAsync,则父Page 应该是NavigationPage。当我们使用NavigationPage 并执行PushAsync 时,导航堆栈将被维护,您将在操作栏中获得一个后退按钮用于返回导航。

如果我们使用PushModalAsync,则页面将以模态方式呈现。

PushAsync 更改为PushModalAsync 将起作用。

private void TapGestureRecognizer_OnTapped(SecondPage secondPage)

    Navigation. PushModalAsync(new SecondPage());


【讨论】:

Sreeraj 成功了。非常感谢先生。 @JayceeEvangelista,我已经添加了解释。 哦。现在我知道。非常感谢先生。我怎么联系你?我想问更多关于 Xamarin.Forms 的问题。先生,如果你没事的话。非常感谢。 您或许可以通过 facebook fb.com/sreerajpr 联系我。如果在我的范围内,我会尽力提供帮助。 我刚刚加了你先生。

以上是关于如何在 Xamarin.Forms 中使用 Tap Gesture 调用另一个页面?的主要内容,如果未能解决你的问题,请参考以下文章

张高兴的 Xamarin.Forms 开发笔记:TapGestureRecognizer 的简单介绍与应用

如何使用 Xamarin.Forms.Maps(无 Xamarin.Forms.GoogleMaps)在地图中应用样式或更改颜色

如何使用 ScnViewGestures.Forms 在 Xamarin.Forms 中使用 TouchDown 和 TouchUp 事件创建视图

在 Xamarin.Forms 中录制语音后如何保存音频文件

如何在 Xamarin.Forms 中获取/检测屏幕大小?

如何在 xamarin.forms 中添加视频播放器