2016-11-28 94 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應該可以解決問題。