【问题标题】:Event after back button pressed按下后退按钮后的事件
【发布时间】:2017-05-22 23:59:02
【问题描述】:

当在另一个页面上按下返回按钮后页面显示时,我找不到任何可以触发的事件。 OnAppearing 不会被解雇。页面构造器也是。 在 UWP 中存在 OnNavigated 事件。

【问题讨论】:

  • @Option JavaScript 和 Xamarin... 这不是同一个问题
  • 如果我没记错的话,Xamarin 可以使用 Javascript 吗?
  • 不能。只有 C# 和 F#
  • 如果这有帮助:xamarinhelp.com/xamarin-forms-webview-executing-javascript 似乎非常适合您
  • WebView 是一个可以在 Xamarin 中使用的控件

标签: xamarin event-handling xamarin.forms


【解决方案1】:

每个Page 都有一个OnBackButtonPressed 的覆盖。

protected override bool OnBackButtonPressed()
{
   return base.OnBackButtonPressed();
}

如果您想在页面上执行操作,您应该查看页面上的 OnAppearingOnDisappearing 覆盖。如果这不符合您的需求,您可以考虑使用MessagingCenter 在适当的方法上触发事件并在您导航到的屏幕中订阅它。

据我所知,没有其他事件可以处理这种情况。你在哪个平台? OnAppearing 应该被调用,但 Android 有一些不同的行为,例如它不被调用。在一些流行模式的情况下。为了进一步诊断,您应该提供一些关于如何推送/弹出页面等的示例代码。

【讨论】:

  • 不,不。我想在显示页面时查找事件。不是按下按钮时
  • 唯一可以处理的事件是您可以在页面上覆盖的OnAppearing。确保在您要导航到的页面上覆盖。
  • 是的,我正在覆盖它。当我点击返回按钮后移动到另一个页面时它不会被触发将返回
  • 在移出视图的页面上是否调用了OnDisappearing?硬件后退按钮和软件后退按钮之间也有区别。例如。在 Android 上,OnBackButtonPressed 仅在按下硬件后退按钮时调用。
  • 我不太清楚为什么这被否决了?它暗示了与原始海报作为解决方案发布的完全相同的内容:-/
猜你喜欢
  • 2013-10-11
  • 2012-06-04
  • 2013-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多