2013-08-14 2 views
0

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

+2

Возможно, это возможно, но вы уверены, что хотите это сделать? По моему опыту, попытка заставить ваши окна вести себя довольно нестандартным способом (например, перемещение в и из реальной панели задач) просто сбивает с толку. Существует причина, по которой приложения, которые используются миллионы раз в день (думаю, Word/IE/Chrome/VS), используют в основном стандартный ui, возможно, с добавлением некоторой доки. – stijn

ответ

0

Я работал над приложением лет назад (.NET 3.0: первый релиз WPF!), Что сделал именно это. Мы столкнулись с проблемой проблем, связанных с ее работой, но в конце концов мы были довольно успешными. Одна вещь, которую мы не поддерживали, заключалась в перемещении ее на панель задач Windows.

Лучшим вариантом было бы установить прикрепленное свойство на каждом Window. Это зарегистрировало бы Window с вашей настраиваемой панелью задач, поэтому, если вы хотите переместить Window из своей настраиваемой панели, вы должны установить для этого свойства значение false. Установка свойства в true добавила бы его в коллекцию окон приложений, а также обработчиков событий регистра для отслеживания состояния Window.

Одним из основных болевых точек для нас было получение правильной анимации Window. Если вы не работаете в XP, это, вероятно, меньше проблем, так как анимация в Vista (или это 7?) И выше на самом деле не показывает, где минимизируется Window. В конце концов, для этого нам пришлось сделать много низкоуровневой работы Win32 (p/Invoke).

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