Создание класса окна WPF MDI - PullRequest
0 голосов
/ 28 марта 2012

Нам нужно смоделировать окна MDI в приложении WPF.

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

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

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

Что используют другие люди?Любые идеи, почему наша реализация элемента управления DragCanvas приведет к такому медленному движению окна.Иногда при перемещении назад и вперед указатель мыши находится более чем на дюйм впереди окна.

1 Ответ

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

Эта ссылка может помочь вам

http://wpfmdi.codeplex.com/

Кроме того, интересное обсуждение интерфейсов MDIWindow - Tab Bases (какой подход лучше) находится на

WPF MDI дети

...