为什么 WPF 在 Windows XP 和 Windows 7 上呈现不同?
我在两台计算机上都使用 .NET SP1..
我的布局就像这个没有工具栏的窗口,并设置为最大化以适应整个屏幕。
在此之下,我有一个设置为使用 Stretch: Uniform 的 Viewbox,在此之下我有我的 LayoutRoot。
通过这种方式,我希望在所有计算机上都能获得相同的布局,但在 Windows XP 上似乎并没有完全相同。有些项目有点小,布局看起来不太好。
我尝试将我的 Windows 7 计算机上的分辨率更改为与 Windows XP 计算机相同的分辨率,并且它保持了预期的布局。
两台计算机都使用 96 DPI。
Windows XP
Windows 7
最佳答案
我的 经验:
我不确定这是不是问题,我注意到 Windows 7 使用硬件加速来绘制 WPF 应用程序。 Windows XP 没有。
您可以使用以下方法检查是否是这种情况:
public partial class App
{
public static int Tier { get { return RenderCapability.Tier >> 16; } }
static App()
{
Console.Out.WriteLine("Render Tier: {0}", Tier);
}
}
如果使用全硬件加速绘图,您的渲染层应返回 2。 0 = 软件,1 = 中间的东西如果猜测
关于WPF 在 Windows XP 和 Windows 7 上的呈现方式不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1605834/