WPF 在 Windows XP 和 Windows 7 上的呈现方式不同

标签 wpf windows-7 windows-xp rendering

为什么 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/

相关文章:

c++ - 基于windows版本的c++条件编译

c++ - 票据打印作业

c# - 折叠所有扩展器并默认展开其中一个

c# - WPF向列表添加搜索功能

wpf - 强制关闭 Excel 时如何禁止禁用加载项对话框

windows-7 - 新的 Windows 7 系统托盘 - 现在如何向用户显示信息

c# - 如何分解 450 行代码的 View 模型

ruby-on-rails - 在 Windows 上安装 Ruby on Rails

apache - 解决有关通过 LAN 访问 localhost 的问题

.net - 在 Windows XP 上运行时 TextBox.Text 绑定(bind)错误