与父ViewModel绑定属性

Wpf*_*ner 4 wpf viewmodel

请参阅如何告诉我的DataTemplate绑定到PARENT ViewModel中的属性?

我有类似的问题...但这个解决方案对我不起作用.我有一个MainViewModel,它有一个可观察的另一个视图模型集合,例如View1/ViewModel1.这个视图有一个树控件,我需要树的上下文菜单.我的主视图有一个菜单.这些主菜单和上下文菜单已连接.那么如何将上下文菜单命令绑定到主viewmodel的属性?

She*_*dan 16

基本上,您需要使用RelativeSource绑定.标准方法是找到特定类型控件的祖先(或父级):

{Binding DataContext.PropertyName, RelativeSource={RelativeSource FindAncestor, 
    AncestorType={x:Type YourViewsNamespace:YourParentView}}}
Run Code Online (Sandbox Code Playgroud)

假设您的父视图已将视图模型设置为其DataContext,此绑定将访问它...这DataContextDataContext视图的视图,例如.设置为的视图模型DataContext.因此,该PropertyName属性是该视图模型的公共属性.

关于您之前曾多次询问的部分问题,请参阅以下链接(或仅在线搜索):

WPF中的上下文菜单

将ContextMenu绑定到其逻辑Parent