Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > WindowState = Maximized. WindowStyle = None


Автор: Vanes 17.4.2009, 09:37
Всем, привет. Работаю над проектом. У окна нестандартный заголовок, поэтому устанавливаю WindowStyle = None и делаю свой заголовок. При установке WindowState = Maximized окно разворачивается на весь экран и закрывает собой панель задач, а мне этого не нужно. Нужно чтобы панель было видно. Как можно решить эту проблему? Как при WindowStyle = None заставить окно максимизироваться с учетом размера и расположения панели задач?

Автор: Vanes 20.4.2009, 06:25
Или может кто знает, можно ли перерисовать стандартный заголовок окна? Через стили например.

Автор: Vanes 20.4.2009, 12:50
Проблему решил через установку размеров окна в ручную. Размеры максимизированного окна соответствуют рабочей области рабочего стола(билеберда какая-то smile ) А эти размеры можно получить из класса SystemParameters

Код

            Rect rec = SystemParameters.WorkArea;
            if (this.WindowState == WindowState.Maximized)
            {
                this.WindowState = WindowState.Normal;
                return;
            }
            if (this.WindowState == WindowState.Normal)
            {
                this.Width = rec.Size.Width;
                this.Height = rec.Size.Height;
                this.Top = rec.Top;
                this.Left = rec.Left;
                return;
            }


По сути окно не становится максимизированным, но результат тот, что надо.

Автор: userdab 4.9.2010, 15:31
Данная проблема обсуждалась http://social.msdn.microsoft.com/Forums/ru-RU/csharpru/thread/7d2e66fa-a071-4eb4-86af-7f4a6a932e4a

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)