如何从另一个ViewModel访问ViewModel的属性?
问题描述:
我有一个使用MVVM的WPF项目。我有两个意见:ClientView
和CommentView
。如何从另一个ViewModel访问ViewModel的属性?
在ClientView
在DataGrid中选择一个客户端后,我打开一个屏幕CommentView
。
我如何进入CommentViewModel
的房产Client
?
注意:属性Client
属于ClientViewModel
。
答
- 如果CommentViewModel和ClientViewModel强耦合,你可以用它直接
- 如果评论查看视觉树有任何地方,您可以使用的RelativeSource绑定到那里
- 您可以使用MEF用于出口的ClientViewModel在DataContext “客户端”属性并将其导入在CommentViewModel
- 你可以使用某种Messenger或EventAggregator从您CommentViewModel传达给你的ClientViewmodel
和一些我认为:)
答
创建时通过ClientViewModel
或ClientViewModel.Client
到CommentViewModel
的引用。
为什么你需要那个?看起来像错误的设计 – sll