В нашем приложении WPF мы используем WindowStyle = "None", чтобы придать нашему приложению более индивидуальный вид. Кнопки максимизации / минимизации находятся в том же месте, но стилизованы так, как мы хотим.
Таким образом, мы угоняем максимизировать и минимизировать поведение и делаем это вручную. Мы делаем следующее:
this.Top = myScreen.WorkingArea.Top;
this.Left = myScreen.WorkingArea.Left;
this.Width = myScreen.WorkingArea.Width;
this.Height = myScreen.WorkingArea.Height;
Здесь myScreen - это экран, на котором находится центральная точка приложения, если пользователь запускает установку с несколькими мониторами.
В определенных настройках и, по-видимому, без подключения, нажатие кнопки максимизации увеличит размер приложения до реальной видимой области монитора. Это терпит неудачу таким образом на моей и других разработчиках, но мои боссовские настройки с несколькими мониторами работают просто отлично.
Моя настройка монитора выглядит следующим образом:
Монитор 2 (слева)
Top, Left: 0, -1280
Resolution: 1280, 1024
Монитор 1 (справа, ноутбук)
Top, Left: 0, 0
Resolution: 1680, 1050
Когда я вручную изменяю размер приложения до размера, который должен быть при максимизации, я получаю следующие значения:
Top, Left: 0, -1024
Height, Width: 792, 1024
Я недавно обновил драйверы дисплея на своем ноутбуке, и более новых не существует. Кроме этого я не могу объяснить это явление. У кого-нибудь еще есть опыт с этим? Возможно, это проблема преобразования точек на пиксель или что-то в этом роде? Я не могу найти ответы здесь или в поиске Google ... Любая помощь будет принята с благодарностью!