Лучшие практики для создания приложения-оболочки WPF, отображающего экраны по требованию - PullRequest
0 голосов
/ 13 марта 2010

Контекст: Я разрабатываю приложение WPF, которое будет содержать много разных «экранов». Каждый экран содержит элемент, который в свою очередь содержит все визуальные элементы. Некоторые элементы инициируют события (например, флажки), экран имеет отдельные ресурсы и т. Д.

Основное приложение - «обертка» вокруг этих экранов: оно содержит строку меню, панель инструментов, строку состояния и тому подобное (в DockPanel) и пространство для отображения одного экрана. Через строку меню пользователь может выбрать, какой экран он хочет отобразить.

Цель: Я хочу динамически загружать и отображать & (событие) обрабатывать один экран в пространстве основного приложения. Я не хочу копировать и вставлять все «обертки» на разных экранах. И так как у меня много сложных экранов (около 300 - к счастью, автоматически сгенерированных), я не хочу загружать их все в начале приложения, но только по запросу.

Вопрос:

Что вы посоветуете как лучший способ реализовать это?
Какие вещи я должен использовать и исследовать: страницы или окна или пользовательский контроль для экранов? Влияет ли это на обработку событий?

Ответы [ 2 ]

1 голос
/ 13 марта 2010

Робби, вы можете позаимствовать концепцию рабочего пространства из статьи Джоша Смита о WPF MVVM. Что бы вы сделали, у вас есть одно окно хостинга (ваша оболочка) и загрузите рабочее пространство в это окно. Вы можете закрыть рабочее пространство и при необходимости загрузить новое, оставив только одно открытое в главном окне.

Ссылка: http://msdn.microsoft.com/en-us/magazine/dd419663.aspx

0 голосов
/ 13 марта 2010

Вы можете использовать Фрейм для хранения различных страниц.

...