我试图从我的 Xamarin.Forms 4 OnBackButtonPressed
覆盖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
中。
有想法吗?
答案 0 :(得分:0)
在ContentPage中未收到BackButtonPressed事件的原因是由于Shell导航。因此,您实际上将在BackButtonPressed的外壳中接收事件。因此,在您的Shell类中,您将执行
public class AppShell: Shell
{
.
.
public override void OnBackPressed()
{
base.OnBackPressed();
}
如有查询,随时找回