2015-12-07 52 views
0

的我有我在App類的共享Xamarin.Forms應用程序的創建,像這樣一個主頁:Xamarin窗體導航頁面回標籤拖出標籤背景

public App() 
{ 
    // The root page of your application 
    MainPage = new NavigationPage(new MainPage()); 
} 

在該主網頁,我做其標籤並創建兩個孩子:

public partial class MainPage : TabbedPage 
{ 
    public MainPage() 
    { 
     InitializeComponent(); 
     this.Children.Add(new FirstPage()); 
     this.Children.Add(new SecondPage()); 
    } 
} 

第一頁有送你到ThirdPage click處理:

TheButton.Clicked += async (object sender, EventArgs e) => { 
       await Navigation.PushAsync(new ThirdPage()); 
}; 

正如預期的那樣,第三頁有一個後退按鈕,但是當我單擊它時,它會將我返回到標籤頁上下文中的第一頁。換句話說,我並沒有回到標籤頁面的子頁面,而是無法返回到標籤頁的單個子頁面。

我可以忽略一些明顯的東西嗎?

+0

是您的 '第一頁' 一NavigationPage或只是一個ContentPage? – Felix

回答

0

從您的主頁面中刪除導航頁面。

public App() 
{ 
    // The root page of your application 
    MainPage = new MainPage(); 
} 

將導航頁面添加到您的兩個子頁面。

public partial class MainPage : TabbedPage 
{ 
    public MainPage() 
    { 
     InitializeComponent(); 
     this.Children.Add(new NavigationPage(new FirstPage()) 
     { 
      Title = "First Page", 
      Icon = "FirstIcon.png" 
     }); 
     this.Children.Add(new NavigationPage(new SecondPage()) 
     { 
      Title = "Schedule", 
      Icon = "Schedule.png" 
     }); 
    } 
} 

更多信息參考:https://www.syntaxismyui.com/xamarin-forms-tabbedpage-navigation-recipe/

+0

這不適用於Android。這些標籤仍然可以從ThirdPage中看到。 –

+1

當你導航.PopToRootAsync();'?時會發生什麼? –