2014-02-19 3 views
1

Итак, у меня есть это старое приложение PowerBuilder MDI (приложение среднего предприятия с окнами около 40), и я приступаю к разработке моего самого первого приложения WPF MVVM C# для замены старения Приложение PowerBuilder. У меня много опыта C# & .NET, но это мое первое WPF & MVVM-приложение.Вкладки динамического содержимого WPF НЕ подходят для пользовательского интерфейса MDI

После прочтения многих сообщений форума после поиска WPF & Альтернатива MDI, я пришел к выводу, что MDI не поддерживается, и что наиболее часто предлагаемый заменитель - использовать TabControl и динамически генерировать содержимое каждой вкладке по требованию с помощью пользовательского элемента управления WPF. Сначала я был продан, и на самом деле меня возбудил мой первоначальный интерфейс прототипа с вкладкой «Лента» в верхней части приложения и TabControl с вкладками приложения под ним. Тем не менее, я ударил BIG кирпичную стену.

Посмотрите на следующий снимок экрана одного из центральных нескольких вкладок окна из моего старого приложения: http://www.creativedatatech.com/downloads/screenshot.jpg

Как вы можете видеть, приложение имеет панель инструментов через верхнюю и левую сторону, и в открывшемся окне дочернего окна MDI (окно редактирования журнала) есть много страниц вкладок (18 из них), и пользователям действительно нравится быстро нажимать на вкладку, чтобы напрямую перейти к этой информации для ее работы. Кроме того, пользователи привыкли к тому, что одновременно открывают сразу несколько корпусов и либо ставят их рядом (большие мониторы), либо переворачиваются назад и вперед, возможно, копируя &, вставляя их между собой.

Проблема заключается в том, что я не могу представить, как я собираюсь включить все эти многоязычные пользовательские интерфейсы для окна редактирования дел в одну вкладку верхнего уровня WPF TabControl. Будет ли пользователь в конечном итоге видеть строку вкладок для WPF TabControl, с одной вкладкой для каждого окна редактирования случая, которое открыто, а затем внутри каждой вкладки «Редактирование случая» еще один вложенный набор из 18 вкладок? Это кажется путаным и большой беспорядок вложенных вкладок. Добавьте к этому вкладки элемента управления ленты в верхней части приложения, и я думаю, что мои пользователи будут работать за мной, чтобы линчевать меня!

После того, как я потратил две недели подряд на WPF и MVVM, у меня осталось ощущение, что WPF действительно не будет хорошо летать для корпоративных приложений, таких как мои. Несомненно, это не может быть правдой! Есть ли у кого-нибудь какие-либо комментарии относительно того, как я должен заниматься формированием этого приложения, чтобы выполнить то, что я пытаюсь сделать здесь?
Я уже смотрел страницы WPF, но я не могу заставить пользователей поочередно перемещаться по всем отдельным страницам, чтобы добраться до содержимого, на котором они должны работать, и им нужно иметь возможность быстро (и визуально) перейдите к содержимому окна «Редактировать окно», которое им нужно.

+2

Вы должны форматировать ваш вопрос, если вы хотите, чтобы люди читали его .. – franssu

+0

К сожалению об этом. Я получил ответ после каждого абзаца, но он не встал, когда я опубликовал его. Я вернулся и вставил теги
, чтобы их было легче читать. Благодаря! – user3327962

+0

Это лучше, но вам все равно нужно его улучшить, если вы хотите получить какой-либо ответ. – franssu

ответ

0

У нас была та же дилемма, мы решили на вкладках экрана в нижней части вкладки, которые относятся к этому экрану в верхней - и контекстных элементов ленты.

Вкладки на экранах фактически просто прокручивают окно до нужной точки, поэтому вся информация разделяется и доступна на каждом экране, прокручивая или нажимая вкладку вверху.

Похоже, этот

enter image description here

+0

Вау, это действительно круто! Мне нравится длинный скроллер с ярлыками быстрого доступа к вкладкам! Интересно, может ли это легко перевернуть, с вкладками «Дело» в верхней части и вкладками раздела ярлыка внизу? В любом случае, это потрясающая идея! Это было сделано с использованием WPF Framework, или вы RYO? – user3327962

+0

Да, это можно легко перевернуть, просто изменив несколько свойств в xaml, он был создан с использованием WPF + Prism + Telerik Controls –

2

Я думаю, что ваша проблема заключается не столько в WPF, сколько в том, что парадигмы GUI отошли от MDI, которые использует ваше текущее приложение. Нет ничего, что помешало бы вам внедрить MDI в WPF, но каков будет смысл, если ваше приложение будет выглядеть так, как сейчас?

Вам действительно нужно подумать о том, как правильно разместить ваше приложение. Возможно, вы можете сохранить свои вкладки для разных случаев, но замените несколько вкладок в каждом дочернем окне на представление мастера/детали, как Dev Studio делает для диалога параметров?

enter image description here

+0

Благодарим за предложение. – user3327962

Смежные вопросы