单击选项卡时如何在TabbedPage中加载数据?

时间:2018-12-29 10:53:35

标签: forms xamarin tabbedpage

我正在使用TabbedPage进行标签导航。我所有的Page类都只有一个空的默认构造函数,我将数据加载到OnAppearing方法中。我有5个标签。当我单击第二个选项卡时,也会调用第三,第四和第五页的OnAppearing方法。

如何确保仅在单击选项卡时才加载数据?

1 个答案:

答案 0 :(得分:1)

解决方案:

您可以在方法{{1}中获取currentPage的索引,如果索引等于1(第二页),请使用OnCurrentPageChanged将消息发送到该页面。请参考以下代码。

  

在标签页中

messagecenter
  

在第二页中。将将数据从onAppearing加载到构造函数中的代码

protected override void OnCurrentPageChanged()
{
   base.OnCurrentPageChanged();

   int index = Children.IndexOf(CurrentPage);

   if (index == 1)
   {
      MessagingCenter.Send<Object>(this, "click_second_tab");
   }

   else if (index == 2)
   {
      MessagingCenter.Send<Object>(this, "click_third_tab");
   }


}