2010-11-09 3 views
1

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

Итак, есть ли способ перехватить 2 различных вида просмотра?

ответ

1

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

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

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

1

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

Нет причин, по которым вы не смогли бы разбить вас. Просмотр в нескольких UserControls, каждый со своей собственной ViewModel.

Смежные вопросы