【发布时间】:2014-07-29 09:54:43
【问题描述】:
我开始玩 Windows Phone 开发。我正在使用 MVVM ligth,并且我正在尝试遵循良好的做法。但是最近我遇到了一个问题: 可以在 ViewModel 中使用 ViewModel 作为属性吗?
我的情况是我有一个 MainViewModel,它是一个全景对象。这个全景对象由几个全景项目(笔记、日历和关于控件/页面)组成。
我的问题是,如果我有 MainPage.xaml 的 MainViewModel,是否可以将其他 ViewModel 作为属性(NotesViewModel、CalenderViewModel、AboutViewModel)放到 MainViewModel,在这种情况下,它们将从 MainPage 继承DataContext 和我只会绑定到 MainViewModel 的一个属性。还是我应该使用定位器模式来允许其他页面/控件获取自己的 ViewModel 并且不继承 DataContext?
如果控件有 ViewModel 可以吗?还是应该用于页面?
【问题讨论】:
标签: wpf silverlight windows-phone-7 windows-phone-8 mvvm-light