WPF Custom Window: не может «безн него» нельзя «Unsnap» с помощью Win7 Aero Snap
Вопрос
У меня есть приложение 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.