Отображать модальное окно/диалог/панель WPF так же, как NSWindow можно отображать как лист в Cocoa.

Я ищу способ отобразить модальное окно в WPF так же, как окно в Cocoa может отображаться как лист, т.е. оно скользит вниз от строки заголовка перед основным родительским окном.

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

Есть идеи, как это сделать?

PS: здесь приведено краткое описание NSWindow/sheet на случай, если вы не что это такое.


person Geir-Tore Lindsve    schedule 18.10.2008    source источник


Ответы (4)


Не надо. Это не ожидаемый пользовательский опыт в Windows. Вместо этого используйте модальные диалоги или навигацию в окне.

person millenomi    schedule 20.10.2008
comment
Возможно, это не совсем ожидаемый пользовательский опыт в Windows, но WPF ориентирован на настройку пользовательского интерфейса. Рассмотрите ваше конкретное приложение... если имеет смысл использовать элемент интерфейса, похожий на лист, тогда используйте его. Это может быть то, что отличает ваше приложение от других стандартных (скучных) приложений Windows. - person Eric Baker; 22.06.2011
comment
Позволю себе не согласиться. Все, что касается настройки пользовательского интерфейса, не означает бросания новых парадигм в лицо пользователю только для того, чтобы быть вычурным. По моему опыту, у пользователей возникают проблемы с пониманием прикрепленных окон в Windows — просто спросите Apple, которой пришлось удалить их из Safari/Win32 поспешно. Они выглядят чуждыми платформе и имеют несколько ограничений (нет точного контроля над dwm-тенями, прерывистое перетаскивание и т. д.) из-за отсутствия базовой поддержки. Всплывающие окна могут быть в порядке; полноценных листов наверное не будет, ИМХО. - person millenomi; 29.06.2011


Спасибо за ответы, ребята.

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

person Geir-Tore Lindsve    schedule 03.11.2008

Ознакомьтесь с примером Sliding and Flying Windows на CodeProject, а также Microsoft Health < href="http://www.mscui.net/PatientJourneyDemonstrator/" rel="nofollow noreferrer">демонстратор общего пользовательского интерфейса, который был источником вдохновения (Silverlight). Последнее дает вам хорошее представление о том, что будет продвигаться как круто и благословенно в дизайне корпоративного пользовательского интерфейса :-)

person Andy Dent    schedule 12.01.2009