2016-11-28 95 views
4

我有一个选项卡式页面Xamarin Form应用程序,我试图自定义。我正在从仅限IO的应用程序迁移到所有平台。在iOS中有一些功能,我使用ViewDidDisappear(),ViewDidAppear()和ViewDidLoad();选项卡式页面OnAppearing()

应用当今加载标签页,如下所示:

{ 
    Children.Add(new MyPage1()); 
    Children.Add(new MyPage2()); 
    Children.Add(new MyPage3()); 
    Children.Add(new MyPage4()); 
} 

每个子页的声明如下从ContentPage全部继承。

class MyPage1: ContentPage 
{ 
     … 
     protected override void OnAppearing() 
     { 
      base.OnAppearing(); 
      Content = SomeContentPage; 
     } 
} 

我遇到的问题是,当只有MyPage1当前显示时,所有页面都会调用OnAppearing()。我需要知道每个子页面何时加载。

我已阅读关于消息中心,但我不知道如何在这种特殊情况下实现它。信息中心会是这个最好的解决方案吗?

我该如何实施一个解决方案,让我知道这四个页面中的哪一个显示?

+1

我有同样的问题,你设法解决它? – Ingenator

+0

嗨,这是一个已知的错误,并在最新的预发布 – Thomas

+0

中修复所以你的问题是OnAppearing方法被多次调用的权利? – chaosifier

回答

0

在主TabbedPage上,添加子页面后,将CurrentPage属性设置为null应该可以解决问题。