WPF Custom Window: не может «безн него» нельзя «Unsnap» с помощью Win7 Aero Snap

StackOverflow https://stackoverflow.com/questions/3924129

  •  29-09-2019
  •  | 
  •  

Вопрос

У меня есть приложение WPF, которое использует пользовательский оконный кадр. Моя проблема заключается в том, что я не могу «безннуть» мое максимальное окно с Aero Snap в Windows 7.

Свойства моего окна:

  • AllowsTransparency установлен в true
  • WindowStyle установлен в None
  • ResizeMode установлен в CanResizeWithGrip.

Я обрабатываю движение окна, как так:

private void TitleBarGrid_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
    DragMove();
}

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

Я не уверен, как работает Aero Snap, но то, что я нахожу странным, так это то, что нормальные WPF Windows (не пользовательские окна) работают просто отлично; Я могу не изменить их, если они максимизируются без проблем. Почему тогда применяет вышеупомянутые свойства моему окну, сломаю это?

Можно ли мне нужно сделать какой-то пользовательский WM-сообщения, чтобы сделать эту работу?

Это было полезно?

Решение

Я закончил просто использовать Библиотека интеграции оболочки WPF от Microsoft. Он обрабатывает все низкоуровневые магии, необходимые для работы Aero Snap.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top