У меня есть приложение WPF, в меню которого используются командные возможности. Все подключено очень хорошо, и когда я нажимаю кнопки в меню, команды запускаются. Однако у меня возникли проблемы с получением статуса IsEnabled на кнопке, чтобы уважать часть CanExecute моих команд.Доступ к элементам управления из команд в WPF
Одна из задач заключается в том, что команды должны видеть, что вы делаете в пользовательском интерфейсе. Например, одна команда должна быть доступна только при выборе определенных элементов в ListBox, поэтому мне нужно получить ссылку на ListBox ... но так как команда отображается в моей модели представления (шаблон MVVM), она не имеет доступ к пользовательскому интерфейсу (BTW, меню находится в одном пользовательском элементе управления [parent = mainwindow], в то время как ListBox находится в другом пользовательском элементе управления [parent = mainwindow]).
Кроме того, даже когда я жестко кодирую метод CanExecute команды для возврата false, свойство Enabled кнопки не изменяется ... команда не срабатывает, но она не изменится ... разочарование , Я предполагаю, что мне нужно изменить/поднять событие CanExecuteChanged, но я не уверен, когда я должен это делать (не могу найти хороший образец).
Отзывы?
Проверено MVVMLight ... Мне нравится идея класса Messger ... спасибо! –