有没有办法在Page和子用户控件之间共享ViewModel?

时间:2014-12-02 17:38:58

标签: c# silverlight mvvm

我正在开发一个Silverlight导航项目。 MainPage包含导航框架。在导航框架内,我的第一页称为LiveViewLiveView.xaml包含用户控件NavigationControl。我不确定我是否正确使用MVVM。

假设LiveView使用视图模型LayoutsViewModelLayoutsViewModel适用于LiveView和用户控件NavigationControl中的元素。如何在LiveViewNavigationControl之间“共享”此视图模型?这甚至是正确的方法吗?

目前,我将LayoutsViewModel的{​​{1}}属性设置为LiveView的实例。然后,我将LayoutsViewModel的{​​{1}}设置为DataContext的同一个实例,如下所示:

NavigationControl

这样,我可以通过此媒体资源访问LayoutsviewModel中的LayoutsViewModel = new LayoutsViewModel(); NavigationControl.DataContext = LayoutsViewModel; ,我可以通过LayoutsViewModel访问LiveView中的LayoutsViewModel。这对我来说似乎不对,但它确实有效。

有没有办法在页面和子用户控件之间共享视图模型?我是以错误的方式接近这个吗?

0 个答案:

没有答案