我有一个使用自定义窗口框架的WPF应用程序。我的问题是我无法在Windows 7中使用Aero Snap“解除”我的最大化窗口。
我的窗口属性:
AllowsTransparency
设置为true
WindowStyle
设置为None
ResizeMode
设置为CanResizeWithGrip
。我像这样处理窗口拖动:
private void TitleBarGrid_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
DragMove();
}
我可以将窗口停靠在左侧,右侧和顶部,并使其表现得像普通窗口一样(展开以填充屏幕的左半部分,展开以填充屏幕的右半部分,分别最大化)。
我不确定Aero Snap是如何工作的,但我发现奇怪的是普通的WPF窗口(非自定义窗口)工作得很好;如果它们最大化而没有问题,我可以解除它们。为什么然后将上述属性应用到我的窗口呢?
我是否有可能需要进行一些自定义WM消息处理才能使其正常工作?