如何在 .Net Maui 上处理返回按钮?

3

我需要在 .Net Maui 中处理返回按钮的操作。

我不是在谈论设备的返回按钮。而是导航页面的返回按钮:

enter image description here

我尝试了这段代码,但它只能在设备的返回按钮上工作,而不能在导航页面的返回按钮上工作。

protected override bool OnBackButtonPressed()
{        
    // Do something here 
    return base.OnBackButtonPressed();
}

我该如何处理?


你想要拦截并阻止用户返回,如果某个条件不满足,还是只想在用户返回时触发一些操作? - Julian
我在第一种情况下 @ewerspej:如果不满足某个条件,拦截并阻止用户返回导航。 - Thomas Carlton
你应该将这个问题添加到问题列表中。我不知道在 MAUI 中是否可能实现,或者需要多少努力,但我知道在 Xamarin.Forms 中直接实现是不可能的,除非使用自定义渲染器(请参见此线程)。你尝试过 @rentoulis 建议的方法吗? - Julian
3个回答

2
我认为这会有所帮助:“可以通过将BackButtonBehavior附加属性设置为BackButtonBehavior对象来重新定义返回按钮的外观和行为”,根据MAUI文档
使用“Command”属性,您可以定义在按下后退按钮时要执行的操作。

1

您可以使用返回按钮行为来设置 Shell 导航的返回按钮。

  • Command,类型为 ICommand,在按下返回按钮时执行。
  • CommandParameter,类型为 object,在传递到 Command 的参数。

这里是有关 返回按钮行为 的信息。


0
使用以下代码来处理 MAUI 应用程序中的返回按钮,同样的代码也适用于 WebView。

protected override bool OnBackButtonPressed()
    {
        if (WebView.CanGoBack)
        {
            WebView.GoBack();
            return true;
        }
        else
        {
            base.OnBackButtonPressed();
            return false;
        }
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接