xamarin.forms - Xamarin.Forms 4:未调用 ContentPage 的 OnBackButtonPressed
问题描述
我试图OnBackButtonPressed
从我的Xamarin.Forms 4 ContentPage
覆盖如下
protected override bool OnBackButtonPressed()
{
return base.OnBackButtonPressed();
}
但是当按下硬件按钮时,永远不会从我的Android设备调用此代码。我已经成功地覆盖了软件备份按钮,如下所示:
<Shell.BackButtonBehavior>
<BackButtonBehavior Command="{Binding BackCommand}" IconOverride="Back.png" />
</Shell.BackButtonBehavior>
但是我可以被要求使用硬件按钮。在主要活动中,我可以在
public override void OnBackPressed()
{
base.OnBackPressed();
}
但不在ContentPage
. 任何想法?
解决方案
您没有在 ContentPage 中收到 BackButtonPressed 事件的原因是 Shell 导航。因此,您实际上将在外壳中接收 BackButtonPressed 的事件。因此,在您的 Shell 课程中,您将执行类似的操作
public class AppShell: Shell
{
.
.
public override void OnBackButtonPressed ()
{
base.OnBackButtonPressed ();
}
如有疑问,请随时回复
推荐阅读
- intellij-idea - 如何在intellij中将文件夹标记为排除但也提交给git?
- javascript - 将 dataTable 数据导出为 CSV 不会在下载的文件中显示任何数据?
- java - 在 Antlr 4 C++ 目标中编写 UTF-16 标识符字符的语法
- modeling - 使用 .inject() 时指定代理属性
- fastify - Fastify Http 请求队列 + Socket 断开事件
- docker - 无法访问容器中的 WebLogic 控制台
- flutter - 无法运行命令运行--release
- visual-studio - Visual Studio Pack 命令背后有哪些命令?
- java - ServerSocket 单客户端
- javascript - 如何解决 React Native 中的错误“cb 不是函数”?