对不起,如果以前问过这个问题,但是我无法找到答案,这就是我再问这个问题的原因。 我的场景是我在我的 axml视图上放置了一个后退按钮,我正在使用 GoBack()方法执行返回先前视图的导航。
我需要什么,我想要禁用我的硬件上的后退按钮,以便我的应用程序不应该返回到导航堆栈中可用的先前屏幕。我正在为我的应用程序使用 Prism MVVM ,所以是否有可能禁用此按钮或在我的ViewModel上有一些可重写的操作方法,我应该从中停止它。
希望你能理解我的问题。
B.R
答案 0 :(得分:0)
我发现最好的方法是在Android MainActivity中使用提供的OnBackPressed覆盖,然后访问我保存的某个bool。我个人使用设置插件,但下面的示例使用内置的应用程序属性(它应该工作,但我没有测试它)。
public class MainActivity : FormsApplicationActivity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
Forms.Init(this, bundle);
LoadApplication(new App());
}
public override void OnBackPressed()
{
var disable = (bool) App.Current.Properties["isBackButtonDisabled"];
if (disable) return;
base.OnBackPressed();
}
}