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

StackOverflow https://stackoverflow.com/questions/2438307

  •  19-09-2019
  •  | 
  •  

Вопрос

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

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

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

Вопрос:

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

Это было полезно?

Решение

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

Связь:http://msdn.microsoft.com/en-us/magazine/dd419663.aspx

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top