Silverlight Навигация с использованием Mvvm-light (oobe) + MEF? - PullRequest
5 голосов
/ 30 апреля 2010

Каков наилучший подход для навигации между пользовательскими элементами управления / страницами (вне браузера)? Я довольно новичок в Silverlight и еще новее в шаблоне mvvm.

Насколько хорошо интегрируется Navigation Framework с MVVM Light Toolkit? Фрагмент общего управления потоком приложений с двумя было бы здорово.

План состоял в том, чтобы использовать Навигационную платформу для общего потока или использовать подход Джереми Ликенса к управлению регионами (http://csharperimage.jeremylikness.com/search/label/regions) и замену областей по мере необходимости. Я видел несколько мест, упоминающих замену Visual Root, но для меня это звучало как хак.

Буду очень признателен за любые советы, отрывки или толчок в общем направлении.

Спасибо.

Ответы [ 3 ]

1 голос
/ 04 мая 2010

Вам может пригодиться следующее сообщение: Шаблон навигации SL4 с MVVM Light

0 голосов
/ 28 июля 2010

У меня возникла та же проблема, и я нашел эту ссылку (относится и к Silverlight):

Windows Phone 7 - навигация по страницам с помощью MVVM Light Messaging

0 голосов
/ 30 апреля 2010

Я борюсь с тем же, но меня как бы держат подальше от "NavigationService", потому что якобы журнал хранит ссылку на объект в памяти или что-то, что я где-то читал.

Я пытался использовать фрейм в главном окне и с помощью mvvm light отправлять навигационные сообщения в окно, чтобы изменить фрейм.

Редактировать: я понял.

В главном окне (код сзади, а не модель представления) я добавил Messenger.Default.Register (Of NotificationMessage (Of NavMsg))) ...

Затем в ЛЮБОМ представлении модели я делаю Messenger.Default.Send (Of Notificationmessage (Of NavMsg))) ...

А потом я создал класс NavMsg, который принимает строку uri или объект для навигации.

Вот несколько шаблонов кода T4, которые сгенерируют вам код для вашей view / viewmodel для работы с mvvmlight, и он продемонстрировал сообщение о закрытии окна выше. http://dl.activeaspsoftware.net/dl.aspx?f=MvvmLightCodeTemplates.zip

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