MVVM Navigation toolkit для Windows Store и Windows Phone 8

Навигация в сабжевых платформах проста, но доставляет некоторый зуд в некоторых местах при попытке красиво связать ее с MVVM. К примеру, в Windows Phone навигация происходит только по ccылкам с возможностью задать параметры только в URI (т.е. строками) что особенно доставляет удовольствие при перемещении представлений в другие папкиNavigate (Uri uri) тогда как в Windows Store интерфейс немного улучшили и дали возможность передавать объект Navigate (Type pageType, object argument) Тут есть интересная особенность — argument должен быть сериализуемым, иначе он пройдет на страницу успешно, но поломает NavigationState (функция GetNavigationState зависнет при вызове). Собственно, задача mvvm-навигации — это красивое связывание представлений с вьюмоделями и передача вьюмоделей при переходе на представления. Задавшись такой задачей я написал небольшой тулкит с примерами для Windows Store и Windows Phone. Как это выглядит? Регистрация И так, сперва нам надо собственно связать представления с вьюмоделями (в качестве IoC я использую Autofac в примерах):_navigationBuilder .RegisterViewModel ().StaticResource ().WithoutView () .RegisterViewModel ().Singleton ().ForView () .RegisterViewModel ().StaticResource ().ForView () .RegisterViewModel ().ForView () .RegisterViewModel ().ForView () ; Читать дальше →

© Habrahabr.ru