选项卡式页面OnAppearing()

And*_*w K 5 xamarin.forms tabbedpage

我有一个选项卡式页面 Xamarin Form 应用程序,我正在尝试自定义它。我正在从仅 IO 应用程序迁移到所有平台。在 iOS 中,我使用了几个函数 ViewDidDisappear()、ViewDidAppear() 和 ViewDidLoad();

\n\n

今天的应用程序加载选项卡式页面,如下所示:

\n\n
{\n    Children.Add(new MyPage1());\n    Children.Add(new MyPage2());\n    Children.Add(new MyPage3());\n    Children.Add(new MyPage4());\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

每个子页面都声明如下,全部继承自 ContentPage。

\n\n
class MyPage1: ContentPage\n{\n        \xe2\x80\xa6\n        protected override void OnAppearing()\n        {\n            base.OnAppearing();\n            Content = SomeContentPage;\n        }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我遇到的问题是,当当前仅显示 MyPage1 时,所有页面都会调用 OnAppearing() 。我需要知道每个子页面何时加载。

\n\n

我已经阅读过有关消息中心的内容,但我不确定如何在这种特殊情况下实现它。消息中心是最好的解决方案吗?

\n\n

如何实现一个解决方案,让我知道显示四个页面中的哪一个?

\n

cha*_*ier -1

在主 TabbedPage 上,添加子页面后,将 CurrentPage 属性设置为 null 应该可以解决该问题。