2012-05-30 2 views
1

Создайте меню, используя ленту WPF. Мое приложение находится в шаблоне MVVM. Чтобы подключить RibbonButton ViewModel, используйте форму:WPF RibbonApplicationMenuItem Command Binding

Command="{Binding Logoff}" 

Он работает правильно. Теперь, используя ту же самую команду на RibbonApplicationMenuItem:

Command="{Binding Logoff}" 

не вызывает никаких вызовов или событие. Что мне нужно для RibbonApplicationMenuItem вызывать метод, который находится в ViewModel? Когда я создаю методы в коде, это работает. Но это противоречит тому, что я разрабатываю MVVM-архитектуру. Были ли какие-либо предложения по подключению RibbonApplicationMenuItem через привязку к ViewModel?

+1

Я не понимаю, что вы пытаетесь достичь, вы необходимости передать параметр в команде для того, чтобы решить, должен ли он выйти или войти в систему? – CodingGorilla

+0

Где установлен DataContext? На корневой «RibbonWindow» или что-то еще? – user7116

+0

Что я делаю, просто запустите команду. Нажмите кнопку и метод, который нужно обработать. Без параметров. DataContext установлено значение: <ут: MainWindowViewModel /> "RibbonApplicationMenuItem" Проблема возникает только в объектах Объекты «RibbonButton» работают правильно. –

ответ

0

После нескольких поисков я нашел решение проблемы. Лента в пакете имеет файл MicrosoftRibbonForWPFSourceAndSamples, который имеет отличный пример того, как работать с RibbonApplicationMenuItem. Я использовал метод DelegateCommand, который поставляется в качестве примера в этом пакете.

Я использовал следующий синтаксис конструктора View:

DelegateCommand = new rbiEfetuarLogoff.Command(mainWindowViewModel.DoLogoff); 

Я надеюсь, что это полезно для кого-то другого.

С наилучшими пожеланиями

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