小楠爷Nm 2023-05-29 13:49 采纳率: 33.3%
浏览 70
已结题

Xamarin.Forms 怎么拿到page左上角的返回事件

Xamarin.Forms 怎么拿到page左上角的返回事件。OnBackButtonPress虽然在page消失时会触发,但是在当page1到page2时,page1的OnBackButtonPress就会触发,这不是想要的。

img

  • 写回答

5条回答 默认 最新

  • 「已注销」 2023-05-29 16:45
    关注
    获得7.50元问题酬金

    引用chatgpt部分指引作答:
    在 Xamarin.Forms 中,可以通过重写 OnBackButtonPressed 方法来处理页面的返回事件。但是,默认情况下,当从一个页面跳转到另一个页面时,前一个页面的 OnBackButtonPressed 方法也会被触发,这不是你所期望的行为。

    为了解决这个问题,你可以使用 NavigationPage 的 Popped 事件来处理页面的返回事件。这样,只有当页面真正从导航堆栈中弹出时,才会触发返回事件。以下是一个示例:

    // 在你的页面构造函数或其他适当的位置
    public MyPage()
    {
        InitializeComponent();
        
        // 获取 NavigationPage 实例
        var navigationPage = Application.Current.MainPage as NavigationPage;
        
        // 订阅 NavigationPage 的 Popped 事件
        navigationPage.Popped += OnPagePopped;
    }
    
    private void OnPagePopped(object sender, NavigationEventArgs e)
    {
        // 在这里处理页面返回事件
        // 当页面从导航堆栈中弹出时,将会触发该事件
        // 你可以在这里执行你想要的逻辑
    }
    

    在 OnPagePopped 方法中,你可以执行任何你希望在页面返回时执行的逻辑。这样,你就可以避免在页面之间导航时触发不必要的返回事件。

    希望这可以帮助到你!如有其他问题,请随时问我。

    评论

报告相同问题?

问题事件

  • 系统已结题 6月6日
  • 创建了问题 5月29日