Xamarin.Forms中MVVM Light中的ViewModel导航

Xamarin.Forms中MVVM Light中的ViewModel导航,xamarin,mvvm-light,Xamarin,Mvvm Light,我在MVVM Light中有一个Xamarin.froms应用程序,我想点击按钮打开另一个页面,但我只想使用page类的这个方法 page.Navigation.PushModalAsync(new MyPage()) 如何在ViewModel类上发送“Page”类作为参考。有多种方法可以做到这一点 简易方法: 将页面作为视图模型的构造函数参数传递 有用的方法是: 编写一个导航服务。这可以从如下内容页扩展: public class NavigationService : Conte

我在MVVM Light中有一个Xamarin.froms应用程序,我想点击按钮打开另一个页面,但我只想使用page类的这个方法

page.Navigation.PushModalAsync(new MyPage())  

如何在ViewModel类上发送“Page”类作为参考。

有多种方法可以做到这一点

简易方法:

  • 将页面作为视图模型的构造函数参数传递
有用的方法是:

  • 编写一个导航服务。这可以从如下内容页扩展:

    public class NavigationService : ContentPage
    {
            public static INavigation Navigation
            {
                get {
                    return Application.Current.MainPage.Navigation;
                }
            }
    
            public static IReadOnlyList<Page> NavigationStack () {
                    return Navigation.NavigationStack;
            }
    }
    
    Page lastPage = Navigation.NavigationStack.Last;
    

    有多种方法可以做到这一点

    简易方法:

    • 将页面作为视图模型的构造函数参数传递
    有用的方法是:

    • 编写一个导航服务。这可以从如下内容页扩展:

      public class NavigationService : ContentPage
      {
              public static INavigation Navigation
              {
                  get {
                      return Application.Current.MainPage.Navigation;
                  }
              }
      
              public static IReadOnlyList<Page> NavigationStack () {
                      return Navigation.NavigationStack;
              }
      }
      
      Page lastPage = Navigation.NavigationStack.Last;