Xamarin.forms 在棱柱体xamarin形式中未调用的OnAppearing

Xamarin.forms 在棱柱体xamarin形式中未调用的OnAppearing,xamarin.forms,prism,Xamarin.forms,Prism,我希望每次导航到视图刷新列表时都调用一个进程。 我使用的是Xamarin表单和prism框架。 我使ViewModel从ContentPage派生,但从未调用以下方法: protected override void OnAppearing() { //Do things } 我该怎么办才能获得比赛?使用OnNavigateTo是否更好?通过: 在应用程序中,有时可能需要调用代码 在ViewModel中,基于页面显示或消失的时间 具体考虑。在这些情况下,您可以

我希望每次导航到视图刷新列表时都调用一个进程。 我使用的是Xamarin表单和prism框架。 我使ViewModel从ContentPage派生,但从未调用以下方法:

 protected override void OnAppearing()
    {
        //Do things
    }
我该怎么办才能获得比赛?使用OnNavigateTo是否更好?

通过:

在应用程序中,有时可能需要调用代码 在ViewModel中,基于页面显示或消失的时间 具体考虑。在这些情况下,您可以利用 IPageLifecycleAware接口,以正确响应出现的和 从页面中消失事件


我找到了一个使我的代码正常工作的解决方案,我在页面的“代码隐藏”中添加了以下内容:

  protected override void OnAppearing()
    {
        (BindingContext as IPageLifecycleAware)?.OnAppearing();
    }

仍然是个谜,为什么我需要添加它,但它不在示例中。

你说的不成功是什么意思?我的意思是,即使我的viewModel派生自iPageLifeCycleAware,你也可以参考。我只是将它与我的项目进行比较,对我来说,看起来我在做完全相同的事情:视图中的Autowire,从IPageLifecycleAware派生并调用Appeating。我不知道我遗漏了什么,因为它是写在官方文件中的。您可以下载该示例并检查其是否有效。如果它有效,那么您的项目中一定缺少某些内容。请调用
base.OnAppearing()
OnAppearing()
中。没有基。OnAppearing()可访问此OnAppearing()方法在ContentPage中重写吗?它应该有。在巫婆内容页?事实上,我的VM声明如下:
公共类PlantGroupListViewModel:BindableBase,IPageLifecycleAware
如果OnAppearing方法在VM中,它不应该有override关键字。见示例。
  protected override void OnAppearing()
    {
        (BindingContext as IPageLifecycleAware)?.OnAppearing();
    }