WPF窗口的ResizeMode属性导致Windows 7与XP的位置差异
我在新WPF应用程序项目中定义了两个窗口:WPF窗口的ResizeMode属性导致Windows 7与XP的位置差异,wpf,windows-7,windows-xp,window,position,Wpf,Windows 7,Windows Xp,Window,Position,我在新WPF应用程序项目中定义了两个窗口: <Window x:Class="WpfWindowSizeLocationDifferenceXP7.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" Left="100"
<Window x:Class="WpfWindowSizeLocationDifferenceXP7.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1"
Left="100" Top="100" Height="200" Width="200"
ResizeMode="CanResize"/>
<Window x:Class="WpfWindowSizeLocationDifferenceXP7.Window2"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window2"
Left="300" Top="100" Height="200" Width="200"
ResizeMode="NoResize"/>
如您所见,窗口并排放置,唯一的区别在于ResizeMode属性值。第二个窗口意味着不可调整大小。Windows XP的结果与Windows 7的结果截然不同
对不起。作为一个新用户,我不能发布图片,所以这里有一些简单的链接
Windows XP(预期结果):
Windows 7(意外结果):
造成这种差异的原因是什么?如何处理它,从而可以依赖WPF窗口的位置和大小属性?我不确定,但我认为Windows对可调整大小和不可调整大小的窗口应用了不同的窗口样式。尝试在你的窗口上显式地设置WindowsStyle属性-希望这会使它们相同
我不是肯定的,但我认为Windows对可调整大小和不可调整大小的窗口应用了不同的窗口样式。尝试在你的窗口上显式地设置WindowsStyle属性-希望这会使它们相同
我得出结论,造成这种影响的原因是扩展帧的DWM特性。甚至WinAPI GetWindowRect函数也可能有故障。需要更深入地探讨这个问题。可能WPF Shell集成库已经有了可以使用的解决方法。我得出结论,造成这种效果的原因是扩展框架的DWM特性。甚至WinAPI GetWindowRect函数也可能有故障。需要更深入地探讨这个问题。可能是WPF外壳集成库已经准备好了可以使用的变通方法。