2014-12-14 4 views
0

У меня довольно сложное WPF-окно с множеством субконтроллеров, использующих строгий MVVM. Один из них - ItemControl. То, что я хочу выполнить, - это распространять событие PropertyChanged-Event в Items в ItemsControl, когда Alt-Key нажат где угодно - не только при фокусировке ItemsControl. Как я могу это сделать?Как получить событие KeyDown в ItemsControl

Пример: когда я нажимаю LeftAlt-Key в любом месте в главном окне Я хочу изменить текст кнопки, которая является частью элемента в ItemsControl.

ответ

0

см similar question here ответа с более чем 100 upvotes
или рассмотреть возможность использования поведения с командой

Edit:
Поведения на верхнем управлении (MainView я предполагаю), чтобы зарегистрироваться на KeyDown событие и преобразование приложений команды на вашем ViewModel

+0

Я не думаю, что мой вопрос имеет какое-то отношение к этому вопросу. Я не хочу знать, как получить событие KeyDown через MVVM. Я хочу «захватить» событие KeyDown для каждого элемента в ItemsControl. – user1130329

+0

Хорошо, вы также исключили поведение? – ZSH

+0

Когда я использую поведение в MainView, как мне его получить до ViewModels элементов ItemsControl? Для этого мне нужно выполнить итерацию всех элементов в элементе-элементе управления, получить ViewModel элемента (через Datacontext) и изменить свойство ViewModel, правильно? – user1130329