xamarin.forms 中的页面生命周期事件
Page lifecycle events in xamarin.forms
我刚刚开发了我的第一个 xamarin.forms 应用程序。我很兴奋 xamarin.forms,但我错过了一些活动。
xamarin.formsContentPage 中是否有任何页面生命周期事件?
我知道这两个:
protected override void OnAppearing()
{
}
protected override void OnDisappearing()
{
}
但是 OnAppearing() 事件只触发一次。在 Android,当我按下开始按钮并返回到我的应用程序时,此事件不会再次触发。
是否有解决此问题的方法(例如 WindowsPhone 页面中的 OnNavigatedTo)?
谢谢。
所以 OnAppearing
事件在您的页面出现时被触发。 IE。您已导航到该页面或从堆栈中的另一个页面返回该页面。当前没有 Page Lifecycle
事件,您可以从 API documentation
中看到
我想你说的是如果你让你的应用程序进入休眠状态并导航回它 OnAppearing
事件不会被触发,这是因为你的页面没有出现,因为它已经存在, 应用程序刚刚睡着了。
您正在寻找的是 App Lifecycle
,其中包括以下方法:
protected override void OnStart()
{
Debug.WriteLine ("OnStart");
}
protected override void OnSleep()
{
Debug.WriteLine ("OnSleep");
}
protected override void OnResume()
{
Debug.WriteLine ("OnResume");
}
然后您可以使用 OnResume
事件来完成您想要的事情。
该 Xamarin 文档包含必须对旧 Xamarin 项目进行更改才能访问这些事件。例如您共享库中的 App
class 必须继承自 Xamarin.Forms.Application
并且还必须对 AppDelegate
和 MainActivity
.
进行更改
您还可以使用 Xamarin 的 MessagingCenter 执行任意事件协调:http://developer.xamarin.com/guides/cross-platform/xamarin-forms/messaging-center/
我一直对同一件事感到沮丧:在 Xamarin.Forms 中没有一致的 view 生命周期事件。但是您可以使用 MessagingCenter 绕过其中的一些限制,它只是一个简单的 pub/sub 消息传递工具。
我刚刚开发了我的第一个 xamarin.forms 应用程序。我很兴奋 xamarin.forms,但我错过了一些活动。
xamarin.formsContentPage 中是否有任何页面生命周期事件?
我知道这两个:
protected override void OnAppearing()
{
}
protected override void OnDisappearing()
{
}
但是 OnAppearing() 事件只触发一次。在 Android,当我按下开始按钮并返回到我的应用程序时,此事件不会再次触发。
是否有解决此问题的方法(例如 WindowsPhone 页面中的 OnNavigatedTo)?
谢谢。
所以 OnAppearing
事件在您的页面出现时被触发。 IE。您已导航到该页面或从堆栈中的另一个页面返回该页面。当前没有 Page Lifecycle
事件,您可以从 API documentation
我想你说的是如果你让你的应用程序进入休眠状态并导航回它 OnAppearing
事件不会被触发,这是因为你的页面没有出现,因为它已经存在, 应用程序刚刚睡着了。
您正在寻找的是 App Lifecycle
,其中包括以下方法:
protected override void OnStart()
{
Debug.WriteLine ("OnStart");
}
protected override void OnSleep()
{
Debug.WriteLine ("OnSleep");
}
protected override void OnResume()
{
Debug.WriteLine ("OnResume");
}
然后您可以使用 OnResume
事件来完成您想要的事情。
该 Xamarin 文档包含必须对旧 Xamarin 项目进行更改才能访问这些事件。例如您共享库中的 App
class 必须继承自 Xamarin.Forms.Application
并且还必须对 AppDelegate
和 MainActivity
.
您还可以使用 Xamarin 的 MessagingCenter 执行任意事件协调:http://developer.xamarin.com/guides/cross-platform/xamarin-forms/messaging-center/
我一直对同一件事感到沮丧:在 Xamarin.Forms 中没有一致的 view 生命周期事件。但是您可以使用 MessagingCenter 绕过其中的一些限制,它只是一个简单的 pub/sub 消息传递工具。