Могу ли я иметь несколько ViewModel для просмотра в WPF - PullRequest
1 голос
/ 09 ноября 2010

Могу ли я иметь несколько ViewModel для просмотра в WPF? Потому что иногда нам нужно показывать вид только в простом формате, а иногда тот же вид должен отображаться в редактируемом формате. Следовательно, мы можем создать отдельные модели представления для каждого.

Так есть ли способ привязать 2 модели с различным видом к виду?

Ответы [ 2 ]

2 голосов
/ 24 ноября 2010

Модель представления должна служить контекстом данных для вашего представления, так что будет разрешена только одна виртуальная машина.

Нет причин, по которым вы не могли бы разбить ваш View на несколько пользовательских элементов управления, каждый со своим собственным ViewModel.

1 голос
/ 09 ноября 2010

Как правило, вы собираетесь связать свой View с одним типом View Model. Это не означает, что ваш тип не может быть интерфейсом или базовым классом, от которого наследуются оба ваших представления.

Я склонен использовать ситуацию интерфейса или базового / производного класса только тогда, когда у меня есть один тип модели представления, который будет охватывать несколько различных представлений. Например, если у меня есть два разных типа форм, которые отображают информацию о виджете, я бы создал один базовый класс Widget ViewModel.

В вашем случае кажется, что вы должны либо: а) создать два вида для ваших простых и расширенных видов, либо б) просто использовать один класс ViewModel

...