选项卡式页面OnAppearing()
问题描述:
我有一个选项卡式页面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()。我需要知道每个子页面何时加载。
我已阅读关于消息中心,但我不知道如何在这种特殊情况下实现它。信息中心会是这个最好的解决方案吗?
我该如何实施一个解决方案,让我知道这四个页面中的哪一个显示?
答
在主TabbedPage上,添加子页面后,将CurrentPage属性设置为null应该可以解决问题。
我有同样的问题,你设法解决它? – Ingenator
嗨,这是一个已知的错误,并在最新的预发布 – Thomas
中修复所以你的问题是OnAppearing方法被多次调用的权利? – chaosifier