There is an override method in TabbedPage named “OnCurrentPageChanged” that call on tab change. We can use x:Name attribute to access the element of xaml in code behind.
In Xaml, Apply x:Name attribute value.
<local:HomePage x:Name="Home">
<local:ExplorePage x:Name="Explore"> //use same for others pages
Override below method in code behind.
protected override void OnCurrentPageChanged()
{
base.OnCurrentPageChanged();
if(CurrentPage is HomePage)
{
Debug.WriteLine("Home Page");
var viewModel = Home.BindingContext as HomeViewModel;
viewModel.CallMethodToLoadData();
}else if(CurrentPage is ExplorePage)
{
Debug.WriteLine("Explore Page");
var viewModel = Explore.BindingContext as ExploreViewModel;
viewModel.CallMethodToLoadData();
}
// Same for other pages
}
CLICK HERE to find out more related problems solutions.