I have a TabbedPage
in Xamarin.Forms
:
public partial class MainPage : TabbedPage
{
public MainPage()
{
InitializeComponent();
var playPage = new NavigationPage(new PlayPage())
{
Title = "Play",
Icon = "play1.png"
};
var settingsPage = new NavigationPage(new SettingsPage())
{
Title = "Settings",
Icon = "settings.png"
};
var aboutPage = new NavigationPage(new AboutPage())
{
Title = "About",
Icon = "about.png"
};
Children.Add(playPage);
Children.Add(settingsPage);
Children.Add(aboutPage);
}
Each of the child pages are a ContentPage
that overrides the OnAppearing
method. The content of my child pages are not updating properly when I navigate between the tabs and further debugging tells me that the OnAppearing
method for child pages are only called once (when the MainPage is first loaded).
Anyone have any idea why the OnAppearing
method is only called once? And how can I solve this issue?
More Info
My child pages such SettingsPage
contains events that when fired open another ContentPage
using Navigation.PushAsync
method. I expected the OnAppearing
method to also get called when switching from tab pages and the navigation pages within those tab pages. (Hope this makes sense)