Несколько представлений, которые имеют одну и ту же ViewModel - PullRequest
1 голос
/ 10 августа 2011

В моем бизнесе приложений у меня есть 3 шага, чтобы определить человека ... на каждом шаге я получаю некоторую информацию о моем лице ... Например, я получаю имя и фамилию на шаге 1 и persontype на шаге 2 и получаю другую информациюна шаге 3 ...

я использую интерфейс перехода для показа шагов моему пользователю и использую из Fluidkit

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

1 Ответ

5 голосов
/ 10 августа 2011

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

Однако вы также можете хранить свои данные в модельном объекте, и ваши ViewModels будут просто тонкими оболочками поверх него. Таким образом, вы могли бы, например, иметь объект Person и иметь PersonWizardStepOneViewModel со свойствами, которые считывают значения из Person и записывают значения обратно в Person (с добавлением любой соответствующей логики модели представления, например, включения / отключения кнопок на основе других вариантов выбора, которые было сделано и т. д.), PersonWizardStepTwoViewModel и т. д., и передайте Person вместо совместного использования одной и той же ViewModel.

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

...