c# – 视图是否只绑定到mvvm中的ViewModel?

最近,我必须在我的新xamarin表单项目中处理mvvm模式. XAML上具有bindingContext的页面代码是ViewModel.困难的部分是我的页面需要使用多个ViewModel来完成我的任务.

例如我的HomePage需要使用联系ViewModel,用户ViewModel,城市ViewModel,…

我在互联网上搜索过,人们说我们应该只使用视图模型来指定视图.
所以,我想知道我是否应该创建一个新的viewmodel来包装所有上面的viewmodel或者我应该为该页面中的每个子视图设置不同的bindingContext.

在这种情况下有经验的人,哪一个是最好的解决方案.

最佳答案 我会创建HomePageViewModel,它封装了一些其他类.

class HomePageViewModel
{
    UserViewModel user;
    ...
}

HomePageViewModel将成为HomePage的DataContext,子布局将分配相应的属性.

点赞