MVVM Light Views - Страница против UserControl - PullRequest
1 голос
/ 24 января 2012

Может кто-нибудь помочь мне понять, в чем реальная разница, и почему инструментарий MVVM Light использует UserControl для Views вместо Pages? Я знаю, что между UserControl и страницами есть некоторые неотъемлемые различия, такие как доступ к «NavigationService» на странице.

И в некоторых примерах реализации реализации MVVM Light от John Papa вместо PageControl UserControl используется страница, но если вы используете шаблон «View» MVVM Light, он использует UserControl.

спасибо

дублированный

1 Ответ

3 голосов
/ 24 января 2012

A Page в приложении Silverlight предназначено для размещения в Frame - и является частью навигационной структуры (см. Документацию MSDN Обзор навигации ).Приложения этого стиля перемещаются от страницы к странице с обновлением URL-адреса для отображения текущего местоположения, почти так же, как веб-сайты на основе HTML.

A UserControl - это повторно используемая единица вашегопользовательский интерфейс.Как правило, он состоит из нескольких элементов управления, элементов пользовательского интерфейса - и может иметь некоторый код для выполнения логики.

Если бы MVVM Light использовал Pages вместо UserControls, среда была бы полезна только для Silverlight на основе навигацииприложения, которые не очень популярны.Тем не менее, UserControls могут быть размещены внутри любой другой панели или страницы, поэтому этот подход является более гибким.UserControl может использоваться как содержимое Page, но также может использоваться во многих других контекстах.

...