2017-06-02 123 views
1

我試圖阻止我的應用程序用戶按下硬件後退按鈕。 我發現這個代碼片斷是在XAML文件後面的代碼:OnBackButtonPressed Not Firing Xamarin Forms

protected override bool OnBackButtonPressed() 
    { 
     return true; 
    } 

我已經試過這包括使用替代布爾布爾和返回base.functionname沒有什麼變化,似乎觸發此方法。 這是更大的背景:

後面的代碼:

這是在堆棧中的第二頁和禁用按鈕只需要將此頁而已,沒有別的地方上發生的。

任何幫助,將不勝感激。

+0

這是在特定平臺上?或者任何? –

+0

目前它在Android上部署,但可能擴展到Windows手機。 – user3355961

+0

你可以嘗試設置這個

回答

0

這對我有用,我在使用Xamarin.Forms的Android和iOS平臺上嘗試過。

希望你能用這段代碼解決。

namespace Test 
{ 
    public partial class TestPage2 : ContentPage 
    { 
     public TestPage2() 
     { 
      NavigationPage.SetHasBackButton(this, false); 
      InitializeComponent(); 
     } 

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

感謝,

+0

我會試一試,讓你知道。 – user3355961

+0

我已經創建了2個內容頁面的測試項目,並對其進行了徹底的測試,也沒有使用硬件按鈕向後導航,我分別在iOS和Android的模擬器和模擬器中嘗試過。 :) –

+0

對不起,但它沒有工作。我非常喜歡這個,我甚至嘗試過清潔和重建。值得注意的一件事是,當我在MainActivity.cs中使用OnBackPressed的覆蓋(對Android非常獨特)時,它似乎可以工作,但對於所有頁面,不僅僅是第2頁。 – user3355961