.Net Maui Shell OnBackButtonPressed

问题描述 投票:0回答:1

我们已经重写了 shell 应用程序的 OnBackButtonPressed 事件,因此 Android 设备后退按钮将使用自定义代码。目前我们只处理 Android 设备的后退按钮。我们有各种场景,我们想要根据发送后退按钮按下命令的页面的位置转到特定页面。这一切似乎都运行良好。

我面临的挑战是,在某些情况下,例如位于应用程序的第一页,我们希望标准后退按钮行为(即退出应用程序)生效。为了实现这一点,我尝试将以下代码放入重写的 OnBackButtonPressed 事件中。

protected override bool OnBackButtonPressed()
{
   try
   {
       ---- various other conditions here ---

       if (currentPageType == typeof(CommissionPage))
       {
           var result = base.OnBackButtonPressed();
       }
   }
   catch (Exception ex)
   {
       ExceptionExtension.TrackError(ex);
       return false;
   }
   return true;
}

这样做的目的是触发默认的后退按钮行为。但是,当我点击此页面上的后退按钮时,它确实执行了base.OnBackButtonPressed,但应用程序并未退出。调用的结果返回 false,我相信这表明调用没有按预期处理,我不知道为什么。

我正在寻找一种从重写的 OnBackButtonPressed 代码到默认代码来处理后退按钮的方法。

任何想法将不胜感激。

c# maui back-button onbackpressed maui-shell
1个回答
0
投票

如果你想触发默认行为只需调用默认方法:

return base.OnBackButtonPressed();
© www.soinside.com 2019 - 2024. All rights reserved.