MVVM Light - 显示当前视图?

时间:2012-04-12 14:32:30

标签: wpf mvvm-light

我已经实现了WPF的导航服务,以便从视图导航到另一个视图。 我这样做是通过使用ViewModelLocator来负责每次收到正确的“Galasoft Messenger”时从一个视图导航到另一个视图。

好的。

现在,有很多Views-ViewModels情侣,我决定在一些视图中创建一个共享(包含在XAML中)的用户控件。 这个UserControl有自己的ViewModel和一些属性来设置它的外观,取决于当前显示的视图。

如何从当前显示的视图(具有用户控件内部)访问UserControl的ViewModel的属性?

还有更多,我如何(以及在​​哪里)确定当前显示的视图?

如果需要,我可以发布一些代码来帮助,但我想答案简短而简单,但我错过了一些东西......

谢谢。

1 个答案:

答案 0 :(得分:0)

当我托管我希望访问View Model的用户控件时,我通常使用一个ContentControl,它连接到像this answer中的数据绑定DataTemplate。如果您需要切换视图模型使用的视图,则可以使用this答案中的触发器。

通过该设置,您可以设置用户控件的视图模型所需的所有属性,并知道用户控件正在使用哪个视图。