MVVM - 视图对其他ViewModel了解多少?

时间:2013-02-27 16:17:02

标签: .net mvvm

我正在努力找出实现我的设计的最佳方法,或者了解我的设计在MVVM方法方面是否有问题。

这个想法是我的MainWindow将有2个控件; Menu(正常,文件,编辑等)和ContentControlContentControl将绑定到我的MainWindowViewModel的属性。

当应用程序加载时,我的MainWindowViewModel的构造函数将属性(Called CurrentView)绑定到我的WelcomeView;这是一个欢迎消息,有2个按钮。 1按钮用于打开名为SearchView的新视图,另一个按钮用于打开名为AddView的视图。

我遇到的问题是如何解决这个问题。

我的WelcomeViewModel是否允许知道MainWindow视图模型?我假设注意到了。也许它应该调用App.xaml中的一个函数,它说“我已被点击,请关闭我并打开新视图”?

我希望我的问题很清楚,如果没有,请告诉我。

1 个答案:

答案 0 :(得分:1)

是。这就是我在WPF中解析“部分视图”的方法:

MainView有一个

<ContentPresenter Content="{Binding ActiveViewModel}"/>

然后MainViewModel有一个

public BaseViewModel ActiveViewModel {get;set;} //NotifyPropertyChanged, of course =)

因此,每当您更改“活动ViewModel”时,contentpresenter都会显示该VM的视图。 就这么简单