UserControls в представлении - PullRequest
       1

UserControls в представлении

0 голосов
/ 12 августа 2011

Я хочу изменить проект WPF на шаблон MVVM.Я хотел бы иметь 2 usercontrols в поле зрения, чтобы я мог использовать их позже.Если в моем главном окне вид с двумя пользовательскими элементами управления размещен в док-панели, нужно ли мне иметь 2 модели представления?Кроме того, что было бы правильным способом настройки пользовательских элементов управления?Заранее спасибо !!!

Ответы [ 4 ]

1 голос
/ 12 августа 2011

Вы можете иметь одну ViewModel, две ViewModel или много, много ViewModel. Вы можете думать о ViewModels как о представлении какого-то логического объекта или данных, лежащих в основе экрана, или чего-то, что должно обрабатываться, сериализоваться или кэшироваться отдельно ... это не имеет значения, если вы немного подумаете об этом.

Хорошей отправной точкой будет рассмотрение того, что вы отображаете / редактируете / работаете. Если два UC являются представлениями для одних и тех же данных (например, как редактор кода / окно предварительного просмотра), у вас может быть одна ViewModel. Если два UC показывают совершенно разные данные, у вас может быть два. Если один из UC имеет 5 вкладок и показывает много разных данных, он, вероятно, должен быть привязан к нескольким.

Если вы можете дать немного больше информации о том, что вы делаете, мы можем дать ответ. Поскольку любой ответ, который дает точное число на основе вашего текущего вопроса, будет прыгать пистолет.

0 голосов
/ 12 августа 2011

Это действительно зависит от ваших пользовательских контролей, но возможно иметь только одну view-модель для содержащего представления, и просто привязать свойства из этого к определенным свойствам пользовательских контролов

0 голосов
/ 12 августа 2011

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

0 голосов
/ 12 августа 2011

Если они разные, то да, у вас должен быть ViewModel для каждого.Если они клоны, то им нужен только один ViewModel. Эта статья - фантастический ресурс для изучения шаблона MVVM.Он немного староват, но очень хорошо подходит для начинающих.Я сам использовал его в течение последних нескольких недель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...