WPF将ContextMenu绑定到VM中的ContextMenu属性

时间:2014-01-06 05:06:44

标签: wpf mvvm contextmenu

在旧版视图模型中,有一个ContextMenu属性

`

public static ContextMenu DropDownMenu
{
  get
  {
       return _DropDownMenu;
  }
}

`

我想将DropDownMenu属性绑定到View:

`

<DockPanel.ContextMenu>
  <ContextMenu x:Name="menu" 
               DataContext="{x:Static local:VM.DropDownMenu}" >
  </ContextMenu>
</DockPanel.ContextMenu>

`

不幸的是,它不起作用。由于某种原因,我无法修改视图模型,有人可以帮我修正视图中的绑定吗?

3 个答案:

答案 0 :(得分:0)

试试这个

<DockPanel  ContextMenu ="{Binding Source={x:Static local:VM.DropDownMenu}, Mode=OneWay}">
</DockPanel>

答案 1 :(得分:0)

也试试这个,

<DockPanel  ContextMenu ="{Binding DropDownMenu, Source={x:Static local:VM}}"/>

答案 2 :(得分:0)

您不应直接使用ViewModel中的控件。

here

有不同的解决方案