0

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

好的。

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

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

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

如果需要,我可以发布一些代码来提供帮助,但我想答案很简短,但我不知何故错过了一些东西......

谢谢你。

大号

4

1 回答 1

0

当我在我想访问视图模型的地方托管用户控件时,我通常使用一个 ContentControl 连接到数据绑定的 DataTemplate 中,就像在这个答案中一样。如果您需要切换视图模型使用的视图,您可以使用类似答案的触发器。

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

于 2012-04-12T14:59:36.800 回答