Xamarin.forms 推送ViewModel而不是ContentPage

Xamarin.forms 推送ViewModel而不是ContentPage,xamarin.forms,Xamarin.forms,在我的Xamarin.Forms应用程序中,我对我的ContentPage中的每个页面使用ViewModels。每当我想更改页面时,我会调用: App.Navigation.PushAsync(new MyContentPage); 但这不是真正的MVVM,因为我的ViewModel直接引用了我的视图。是否有办法在Xamarin.Forms中推送ViewModel?我需要使用MvvmCross这样的框架吗?我想这样做: App.Navigation.PushAsync(new MyViewMo

在我的Xamarin.Forms应用程序中,我对我的
ContentPage
中的每个页面使用ViewModels。每当我想更改页面时,我会调用:

App.Navigation.PushAsync(new MyContentPage);
但这不是真正的MVVM,因为我的ViewModel直接引用了我的视图。是否有办法在Xamarin.Forms中推送ViewModel?我需要使用MvvmCross这样的框架吗?我想这样做:

App.Navigation.PushAsync(new MyViewModel);
或者更好:

App.Navigation.PushAsync<MyViewModel>();
App.Navigation.PushAsync();

尝试查看Prism中的Xamarin表单。他们有很大的支持和大量的视频。我还使用Prism和dataannotations设置了公共GitHub repo。请看这里:让我知道它是否有帮助。是的,我想如果我想要真正的Mvvm,我需要使用像Prism或MVVMCross这样的框架,你不必这样做,但它肯定有助于Mvvm的设置和注册部分。它也有一些漂亮的导航服务,可以帮助你做你想做的事情。它也非常擅长深度链接。如果你在未来有这样的计划,这可能会让这一行动更加值得。