C# WPF&;MVVM-ViewModels和DataContext

C# WPF&;MVVM-ViewModels和DataContext,c#,wpf,mvvm,C#,Wpf,Mvvm,在WPF中使用MVVM模式,最好使用“主”视图模型并仅将其用作数据上下文,还是可以使用多个与视图交互的视图模型(如果可能的话)?对不起,如果这是一个愚蠢的问题;我对MVVM非常陌生。没有“单向规则所有”的方法,但您通常会看到视图和视图模型之间的1-1关系。换句话说,视图的一个视图模型和该视图模型是该视图的数据上下文。通常会看到由其他视图模型继承的“基本”视图模型。这是一个非常简单的解释,但对于初学者来说可能是一个很好的起点。是的,视图模型之间通常存在层次关系。没关系。这种关系应该反映视图之间的逻

在WPF中使用MVVM模式,最好使用“主”视图模型并仅将其用作数据上下文,还是可以使用多个与视图交互的视图模型(如果可能的话)?对不起,如果这是一个愚蠢的问题;我对MVVM非常陌生。

没有“单向规则所有”的方法,但您通常会看到视图和视图模型之间的1-1关系。换句话说,视图的一个视图模型和该视图模型是该视图的数据上下文。通常会看到由其他视图模型继承的“基本”视图模型。这是一个非常简单的解释,但对于初学者来说可能是一个很好的起点。

是的,视图模型之间通常存在层次关系。没关系。这种关系应该反映视图之间的逻辑关系。MVVM Light使用来分配DataContext。通常我倾向于让单个ViewModel对应于单个XAML视图文件。一个视图有子视图(UserControls)和相应的子视图模型是完全可以接受的,但这实际上取决于您的情况。不幸的是,尽管你的问题无论如何都不是愚蠢的,但它有点太模糊了,无法回答(唯一的答案是“视情况而定”),因此很可能会被关闭。一个更好的例子可能是,“这是一个具体的例子,说明我在做什么以及它带来的问题,我如何实现我的x目标并解决我的y问题?”即使它已经结束,我认为你们已经足够好地回答了。此外,Romoku提到了MVVM灯。现在我正在使用本教程中的框架:MicroMVVM的完整版本如何抵抗MVVM Light?