проблема разрешения экрана при максимизации приложения вручную - PullRequest
1 голос
/ 16 декабря 2009

В нашем приложении 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 ... Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 05 января 2010

Вы видели эту страницу - Окно максимизации (с WindowStyle = Нет) с учетом панели задач ? Кроме того, - это запись в блоге разработчика о созданном им элементе управления, который делает это (еще не выпустил исходный код, но утверждает, что он скоро будет выпущен).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...