尝试通过进一步了解选项卡式页面,我构建了一个非常简单的应用程序,其中包含具有以下代码的三个内容页面:
public class Page1 : ContentPage
{
public Page1()
{
Content = new StackLayout
{
Children = {
new Label { Text = "Hello Page1" }
}
};
}
protected override void OnAppearing()
{
base.OnAppearing();
System.Diagnostics.Debug.WriteLine("Page 1 On Appearing");
}
protected override void OnDisappearing()
{
base.OnDisappearing();
System.Diagnostics.Debug.WriteLine("Page 1 Disappearing");
}
}
主页看起来像这样:
public class MainPage : TabbedPage
{
public MainPage()
{
var page1 = new Page1();
page1.Title = "Page1";
var page2 = new Page2();
page2.Title = "Page2";
var page3 = new Page3();
page3.Title = "Page3";
Children.Add(page1);
Children.Add(page2);
Children.Add(page3);
}
}
现在,当我单击新选项卡时,将调用旧选项卡的OnDisappearing()方法以及新选项卡的OnAppearing()方法,但不会显示新页面的内容。它仍然是旧页面的内容。 要显示新页面的内容,我必须再次单击选项卡。
有人经历过这种行为吗?
最诚挚的问候,
马可