Как разработать приложение wpf с более чем 500 страницами - PullRequest
2 голосов
/ 03 марта 2012

У меня есть приложение (вид медицинской терапии), в котором есть более 500 страниц для навигации, и на некоторых страницах выполняется некоторая обработка. Как мне разработать такое приложение.

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

Может кто-нибудь предложить лучший дизайн или подход.

Ответы [ 3 ]

0 голосов
/ 03 марта 2012

Существует платформа, разработанная специально для этого типа больших составных приложений.

Каркас - ПРИЗМА 4, см .: http://compositewpf.codeplex.com/

Prism предоставляет руководство, разработанное, чтобы помочь вам легче разрабатывать и создавать многофункциональные, гибкие и простые в обслуживании презентации Windows Foundation (WPF) настольных приложений, Silverlight Rich Internet Приложения (RIA) и приложения для Windows Phone 7. Используя дизайн модели, которые воплощают важные принципы архитектурного дизайна, такие как В качестве разделения проблем и слабой связи Prism помогает вам проектировать и создавать приложения, используя слабосвязанные компоненты, которые может развиваться независимо, но это может быть легко и без проблем интегрированы в общее приложение. Эти типы приложений известны как составные приложения.

0 голосов
/ 03 марта 2012

Подсказка @Doug, похоже, вы ищете средство просмотра документов.В этом случае, я думаю, что вы действительно хотите, это просто «виртуализированный документ», где создается только экземпляр страницы, представленной в настоящее время (что-то похожее на Virtualized Stack Panel, которую использует ListBox).Я стал большим поклонником шаблона проектирования MVVM.В вашем случае, я думаю, что в вашей модели представления у вас должно быть свойство currentPage (модель вложенного представления) и представление (т. Е. XAML), которое знает, как отобразить эту страницу с помощью Binding - возможно, шаблон данных.* При перемещении между страницами вы просто меняете свойство currentPage в своей модели представления.Все должно обновляться автоматически (после правильной реализации INotifyPropertyChanged).Если визуализация представления выполняется слишком медленно, рассмотрите возможность добавления механизма кэширования.

0 голосов
/ 03 марта 2012

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

При отображении страницы приложение обрабатывает разметку и преобразует ее в формат отображения WPF, а при обнаружении потребности в активной обработке программа может вставить специализированные пользовательские элементы управления или использовать другую систему для взаимодействия со страницей.

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