Как я переключаю представления в приложении WPF, используя Unity и MVVM? - PullRequest
2 голосов
/ 19 августа 2010

Я очень новичок в WPF и пытаюсь настроить приложение, которое требует переключения представлений.

Например, пользователь просматривает систему, которая содержит несколько компонентов, когда они нажимают накомпонент, он должен переключиться на представление, связанное с этим компонентом, заменив предыдущее системное представление.Насколько я понимаю, здесь должен использоваться контроллер, но реализация ускользает от меня.

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

Спасибо

Ответы [ 2 ]

1 голос
/ 19 августа 2010

Если вы только начинаете с WPF и погружаетесь непосредственно в использование IoC / MVVM, то вы можете рассмотреть возможность сделать шаг назад и начать с основ WPF, т. Е. Макетов, маршрутизируемых событий, команд, привязок, свойств зависимостей,INotifyPropertyChanged и т. Д. *

Для начала: учебные пособия по wpf и mvvm .

Для большинства из нас, простых смертных, WPF имеет крутую кривую обучения.И все же, как только вы преодолеете этот первый горб, «ага-моменты» начинают появляться регулярно.

0 голосов
/ 08 октября 2013

Я использую Mvvm-Light, но я верю, что Unity будет похожим.

У вас должен быть ViewModelLocator, где вы регистрируете ViewModels.

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

У вас должно быть свойство, к которому вы привязываете, то есть модель базового вида.

Оттуда все, что вам нужно будет сделать, это изменить это свойство на другую модель представления, и ваше представление обновится соответствующим образом.

Как сказал Metro, крутая кривая обучения, но как только вы к ней привыкнете, это начинает обретать смысл:)

...