WPF & MVVM - 视图模型和数据上下文

3
在WPF中使用MVVM模式,是最好使用一个“主”ViewModel并仅将其用作您的DataContext,还是可以使用多个ViewModel与视图交互(如果可能的话)?如果这是一个愚蠢的问题,请原谅,我对MVVM非常陌生。

2
通常情况下,ViewModels之间存在层次关系。这没有问题。该关系应反映Views之间的逻辑关系。 - Federico Berasategui
MVVM Light使用服务定位器模式来分配DataContext。 - Dustin Kingen
2
通常我倾向于让一个ViewModel对应一个XAML视图文件。视图可以有子视图(UserControls),并且有相应的子ViewModels,但这取决于您的情况。不幸的是,虽然您的问题绝对不是愚蠢的,但它有点太模糊了,无法回答(唯一的答案是“取决于情况”),因此可能会被关闭。更好的表述可能是:“这是我正在做的具体示例及其带来的问题,我如何实现我的目标x并解决我的问题y?” - mclark1129
即使它已经关闭,我认为你们已经回答得足够好了。此外,Romoku提到了MVVM Light。现在我正在使用这个教程中找到的框架:http://www.codeproject.com/Articles/165368/WPF-MVVM-Quick-Start-TutorialMicroMVVM的完整版本与MVVM Light相比如何? - Jason D
1个回答

3

没有一种方法适用于所有情况,但通常情况下视图和视图模型之间是一对一的关系。换句话说,一个视图对应一个视图模型,而这个视图模型是该视图的数据上下文。通常会看到一个“基础”视图模型被其他视图模型继承。这是一个非常简单的解释,但对于初学者来说可能是一个很好的起点。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接