I am unable to navigate the user to a page using PushAsync from a TabbedPage in the More list.
The problem is easily repeatable and stems from trying to open (PushAsync) another page from ContentPage belonging to a NavigationPage -> TabbedPage. When trying to perform a Navigation.PushAsync there are no errors yet the PushAsync fails to perform its task. This only errors when the NavigationPage(ContentPage) is in position 5 or more where it gets pushed to the MORE list.
The first 4 tabs work, the remaining 3 tabs do not, the remaining 3 tabs get encapsulated into the MORE list..
This is directly related to http://forums.xamarin.com/discussion/comment/176050/#Comment_176050 however I have been able to directly understand the issue.
Below is code you can implement to repeat this problem
App.cs
public class App : Application {
public App () {
MainPage = new MyTabbedPage ();
}
}
MyTabbedPage.cs
public partial class MyTabbedPage : TabbedPage {
public MyTabbedPage () {
InitializeComponent ();
Children.Add (new NavigationPage(new MainPageTest (){Title = "Tab 1"}){ Title = "Tab 1"});
Children.Add (new NavigationPage(new MainPageTest (){Title = "Tab 2"}){ Title = "Tab 2"});
Children.Add (new NavigationPage(new MainPageTest (){Title = "Tab 3"}){ Title = "Tab 3"});
Children.Add (new NavigationPage(new MainPageTest (){Title = "Tab 4"}){ Title = "Tab 4"});
Children.Add (new NavigationPage(new MainPageTest (){Title = "Tab 5"}){ Title = "Tab 5"});
Children.Add (new NavigationPage(new MainPageTest (){Title = "Tab 6"}){ Title = "Tab 6"});
Children.Add (new NavigationPage(new MainPageTest (){Title = "Tab 7"}){ Title = "Tab 7"});
}
}
MainPageTest.cs
public partial class MainPageTest : ContentPage {
public MainPageTest () {
InitializeComponent ();
buttonTest.Clicked += async (sender, e) => {
await Navigation.PushAsync(new PageDetail());
};
}
}