尝试通过我构建了一个非常简单的应用程序来了解有关选项卡式页面的更多信息,该应用程序包含三个内容页面,其代码如下:
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() 方法,但不会显示新页面的内容。它仍然是旧页面的内容。要显示新页面的内容,我必须再次单击选项卡。
有没有人经历过这种行为?
此致,
马可