Xamarin.forms 如何利用IApplicationLifecycleAware

Xamarin.forms 如何利用IApplicationLifecycleAware,xamarin.forms,prism,Xamarin.forms,Prism,有人能给我举个例子,说明如何将IApplicationLifecycleAware用于Prism和Xamarin.Forms吗?我有一个实现它的视图模型,但OnResume和OnSleep从不触发(尽管它在我的App.xaml.cs中触发)。要使用IApplicationLifecycleAware您只需在您希望使用它的任何视图模型上实现它,然后将代码添加到所需的OnSleep和OnResume方法中 但是,非常重要的一点是,如果在应用程序类中实现了对这些方法的重写,则应包括基本执行,否则Pri

有人能给我举个例子,说明如何将IApplicationLifecycleAware用于Prism和Xamarin.Forms吗?我有一个实现它的视图模型,但OnResume和OnSleep从不触发(尽管它在我的App.xaml.cs中触发)。

要使用
IApplicationLifecycleAware
您只需在您希望使用它的任何视图模型上实现它,然后将代码添加到所需的OnSleep和OnResume方法中

但是,非常重要的一点是,如果在应用程序类中实现了对这些方法的重写,则应包括基本执行,否则PrismApplication无法在当前页面的ViewModel上执行IApplicationLifecycleAware方法

public partial class App : PrismApplication
{
    protected override void OnSleep()
    {
        // Handle IApplicationLifecycle
        base.OnSleep();

        // Handle when your app sleeps
    }

    protected override void OnResume()
    {
        // Handle IApplicationLifecycle
        base.OnResume();

        // Handle when your app resumes
    }
}

啊。我已经接到电话了。但是,我没有意识到这只会在活动页面的ViewModel上触发。现在有道理了。谢谢。我们假设当你离开某个视图时,你已经做了睡眠所需的任何事情,所以你只需要在当前视图中处理这个问题。