例如,从新闻列表的页面移动到详细信息。我将带有新闻列表的选定项目详细介绍吗?在NewsLisviewModel
中NewsDetailVm.SelectedNews = SelectedNews;
在NewslistPage
中await Navigation.PushAsync(new NewsDetailPage());
或我应该只使用页面本身?
await Navigation.PushAsync(new NewsDetailPage(e.Item as News));
您可以与MainViewModel()
和提供此MainViewModel()
public class MainViewModelFactory{
private static MainViewModel main{get;set;}
public static MainViewModel GetReference(){
if(main == null){
main = new MainViewModel();
return main;
}else
return main;
}
}
MainViewModel具有其他所有需要的ViewModel的实例。
因此您可以使用MainViewModelFactory.GetReference().DoAnything();
每个ViewModel您拥有的东西。
但是,就像@Charleh所说,这是一种非常耦合的方式。我不使用Pub sub,但如果您需要更松散的方法来插入您的ViewModels。