События из UserControl как ItemTemplate в WPF ListBox - PullRequest
1 голос
/ 04 декабря 2009

В WPF у меня есть ListBox с UserControl в качестве ItemTemplate - все данные отображаются нормально. Теперь я добавил текстовое поле для ввода в этом пользовательском элементе управления. В проекте MVVM я хочу предпринять некоторые действия (пересчитать значения) в главном окне, когда пользователь редактирует содержимое текстового поля в пользовательском элементе управления, в шаблоне элемента, в окне списка. Вопрос - как распространить это событие до модели? Пользовательский элемент управления привязан к бизнес-объекту, и я вижу, что значение там изменяется, хорошо (INOtifyPropertyChanged реализован в BO), но как передать это событие в модель (в отличие от кода позади)? Любые примеры или указатели приветствуются!

Жас

1 Ответ

0 голосов
/ 04 декабря 2009

Я предполагаю, учитывая, что это приложение MVVM, что вы пытаетесь распространить событие с измененным текстом вплоть до ViewModel.

Вы можете сделать это без добавления кода в представлении, используя Attached Property или Поведение. На самом деле в галерее выражений есть поведение, вызывающее команду при нажатии Enter in TextBox . Это может быть легко переработано для запуска пользовательской ICommand в вашей ViewModel всякий раз, когда TextBox меняет свое значение (это очень похоже на цели).

...