0
Xamarin.Forms是否有辦法按下代碼後退按鈕?我試圖調用OnBackButtonPressed和SendBackButtonPressed,但這不起作用。 OnBackButtonPressed事件被調用,但後退操作不執行。Xamarin.Forms:按代碼後退按鈕
呼叫OnBackButtonPressed:
if (_currentQuestionnaireGroup != null)
await RefreshDataAsync();
else
{
App.QuestionnaireOverviewPage.IsDirty = true;
this.OnBackButtonPressed();
}
事件:
protected override bool OnBackButtonPressed()
{
if (_questionnaireHandler != null)
App.QuestionnaireOverviewPage.IsDirty = true;
return true;
}
這並不能解決問題。當我按下android上的硬件backbutton時,您的解決方案就可以工作。但我有一個自定義後退按鈕。當我點擊這個自定義按鈕,並調用OnBackButtonPressed時,不執行後面的操作。兩者都擊中OnBackButtonPressed - Event,但只有硬件後退按鈕執行真正的後退動作。 – OPunktSchmidt
我使用了Navigation.PopAsync()來做到這一點,如果我正確地使用了。你能發佈你的整個代碼嗎?我會嘗試在這裏模擬你的場景並獲得訣竅。 –
是的,使用Navigation.PopAsync()是正確的方法並解決問題。我在原生android開發方面有一些經驗,在那裏你可以調用finish()或onBackPressed()來關閉當前頁面。在Xamarin.Forms中你必須調用Navigation.PopAsync()。 – OPunktSchmidt