2014-01-06 11 views
1

В модели наследие зрения есть свойство ContextMenuWPF привязки ContextMenu к ContextMenu собственности в VM

`

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

`

Я хочу, чтобы связать свойство DropDownMenu с видом:

«

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

`

К сожалению, это не работает. По какой-то причине я не могу изменить модель просмотра, может ли кто-нибудь помочь мне исправить привязку в представлении?

ответ

0

Попробуйте

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

Попробуйте также

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

Вы можете уточнить, почему это работает, и что случилось с оригинальным кодом ФП в? –

+0

@AaronBrager: Оба они одинаковы и работают одинаково. – Sankarann

0

Вы не должны непосредственно потреблять управления в вашей ViewModel.

Существует другое решение на here

Смежные вопросы