2016-11-28 2 views
4

Ich habe eine Tabbed Page Xamarin Form-Anwendung, die ich anpassen möchte. Ich migriere von einer Nur-IO-App auf alle Plattformen. In iOS gibt es eine paar Funktion, die ich ViewDidDisappear(), ViewDidAppear() und ViewDidLoad() verwendet; heuteTabbed Page OnAppearing()

Die Anwendung lädt die Registerseite wie folgt:

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

Jeder der untergeordneten Seiten erklärt werden, da alle von Content erben folgt.

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

Das Problem, das ich in laufen lasse, ist, dass die OnAppearing() für alle Seiten aufgerufen wird, wenn nur MyPage1 gerade angezeigt wird. Ich muss wissen, wann jede Kindseite geladen ist.

Ich habe über Message Center gelesen, aber ich bin mir nicht sicher, wie es in diesem speziellen Fall zu implementieren. Wäre das Nachrichtenzentrum die beste Lösung dafür?

Wie implementiere ich eine Lösung, mit der ich wissen kann, welche der vier Seiten angezeigt wird?

+1

Ich habe das gleiche Problem, haben Sie es geschafft, es zu lösen? – Ingenator

+0

Hallo, dies ist ein bekannter Fehler und in der neuesten Vorabversion behoben – Thomas

+0

Also Ihr Problem ist OnAppearing Methode mehr als einmal richtig aufgerufen wird? – chaosifier

Antwort

0

Nachdem Sie untergeordnete Seiten hinzugefügt haben, sollten Sie das Problem beheben, indem Sie die CurrentPage-Eigenschaft auf null setzen.