WPF自定义窗口:无法使用Win7 Aero Snap最大化窗口“删除”
题
我有一个使用自定义窗框的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 Windows(非定期窗口)正常工作。如果没有问题,我可以将它们最大化。为什么将上述属性应用于我的窗口中断呢?
我可能需要做一些自定义的WM消息处理以进行这项工作吗?
解决方案
我最终只是在使用 WPF外壳集成库 来自微软。它处理使航空快照起作用所需的所有低级魔法。
不隶属于 StackOverflow