Пользовательский контроль MVVM - где я могу объявить его для получения данных со страницы? - PullRequest
1 голос
/ 25 мая 2010

У меня есть пользовательский элемент управления WPF ... который находится в MVVM. Пользовательский элемент управления (который содержит просмотр списка) нуждается в данных со страницы (где они включены). Я должен установить свойство в Просмотреть код за , чтобы получить эти данные ввода. Будет ли это соответствовать MVVM (Но, насколько мне известно, шаблон MVVM не поддерживает добавление кода в код за файлом представления)

Ответы [ 3 ]

1 голос
/ 25 мая 2010

Вы хотите сделать это с помощью привязки данных. Элементы управления привязаны к свойствам в вашей модели представления, которая получает данные, применяет необходимую логику и возвращает ее представлению для отображения. Посмотрите здесь , чтобы понять, как все это работает.

0 голосов
/ 25 мая 2010

Я думаю, что ваша проблема может быть решена более простым способом. Если вы выставите свойство ItemsSource ListView в качестве свойства зависимости вашего пользовательского элемента управления, вы сможете достичь того, чего хотите, без лишних (в данном случае) накладных расходов на реализацию шаблона MVVM: затем вы можете просто использовать привязку данных для добавления данных со страницы, где находится пользовательский элемент управления. включен.

пост, который, я думаю, отвечает на ваш вопрос: Опубликовать ссылку

0 голосов
/ 25 мая 2010

У меня есть ссылка: http://social.msdn.microsoft.com/Forums/en/wpf/thread/a3eedc3e-0d59-420c-aba0-44fe8b00552f

Но на самом деле я не понимаю, что подразумевается под инъекцией (как указано ниже):

интерфейс к публичной модели UserControl, называемый IUserControlModel. У него есть свойства, которые должны быть видны снаружи; - UserControlViewModel, который содержит открытое свойство типа IUserControlModel, которое вводится в конструктор; плюс все свойства, используемые для привязки XAML, специфичные для реализации usercontrol; XAML может иметь привязки непосредственно к свойствам IUserControlModel; - MainWindowViewModel, которая вкладывает IUserControlModel внутрь.

...