Windows Phone 7 Silverlight Приложение MVVM Войти - PullRequest
0 голосов
/ 31 августа 2011

Я создаю вид входа в систему, который запрашивает у пользователя имя пользователя и пароль, а затем пользователь может нажать кнопку «Вход», чтобы попытаться войти в систему. Когда пользователь нажимает кнопку в обработчике для этой кнопки, я вызываю метод Login () в моем классе LoginViewModel с именем пользователя и паролем, которые проверяются в этом методе, а затем метод выполняет асинхронный запрос REST для моего веб-сервиса с помощью имя пользователя и пароль. Как только имя пользователя и пароль проверены в веб-службе, и служба возвращает значение true, чтобы сказать, что эти учетные данные действительны, как я уведомляю представление входа в систему, чтобы представление входа в систему могло перестать отображать диалоговое окно хода выполнения и показывать другую страницу или отображать ошибку

Ответы [ 2 ]

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

Вам не нужна инфраструктура mvvm для реализации mvvm, но она ускоряет процесс.В mvvm light вы можете иметь RootView с навигационной рамкой и использовать мессенджер, чтобы сообщить RootView, что нужно включить или отключить LoginView или MainView на основе аутентификации.

Для приложений wp7 я предпочитаю Caliburn Micro , потому что он проделывает большую работу за вас, например, облегчает навигацию по страницам в режиме принудительного просмотра вначале, но затем позволяет использовать подход ViewModel вначале приподстраницы легко.В CM также есть несколько приятных вещей, которые помогут вам справиться с надгробиями.

В CM ваш ShellView может иметь ContentControl, и вы можете активировать LoginViewModel или MainViewModel на основе проверки подлинности или нет.

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

У вас должно быть логическое свойство в вашей модели представления, которое говорит, занята ли модель представления или нет. Затем вы должны связать это свойство со свойством IsOpen всплывающего окна. Для навигационной части есть несколько вариантов. Одним из них является наличие контроллера, который знает, как переходить со страницы на страницу, и он используется моделью представления.

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

Вам нужна среда MVVM, чтобы следовать этому шаблону на Windows Phone. Я бы порекомендовал Prism или MVVMLight .

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