WPF GroupBox以虚线/虚线显示

时间:2011-08-09 15:45:05

标签: .net wpf windows

我一直在WPF中编写我的应用程序的新版本。它看起来相当不错但现在我已将它发布给有限数量的测试用户,在他们的一台机器上,GroupBox看起来非常可怕。

据我所知,他们已经安装了正确的.NET版本,所有内容都与我的机器完全相同。

有什么想法吗?

enter image description here

编辑:我们都在运行Windows XP。

更新(2011-8-17):如果受影响的用户关闭硬件加速,看起来已经纠正了。谁知道为什么会这样?我能以任何方式在代码中解决这个问题吗?

3 个答案:

答案 0 :(得分:1)

我之前使用Windows窗体应用程序经历了类似的事情。我不记得具体细节,但有问题的用户对我有不同的Windows外观/主题设置(都在XP上运行)与显示器冲突。

答案 1 :(得分:1)

我经历过的一些可能导致这种情况的事情:

  • 不同的操作系统
  • 不同的显示模式(即Classic XP vs Vista)
  • 不同的分辨率(即分辨率未设置为特定显示器的最佳设置)

答案 2 :(得分:1)

在.NET 4.0中,您可以以编程方式打开软件渲染(What’s New for Performance in WPF in .NET 4

RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly;

在.NET 3.5中(源自Software Rendering Usage in WPF)。这应该在您的视图的Loaded事件中编码

System.Windows.Interop.HwndSource hwndSource = (System.Windows.Interop.HwndSource) PresentationSource.FromVisual(this);
hwndSource.CompositionTarget.RenderMode = System.Windows.Interop.RenderMode.SoftwareOnly;

或者您可以写一些写入注册表的内容

[HKEY_CURRENT_USER\Software\Microsoft\Avalon.Graphics] ("DisableHWAcceleration"=dword:00000000 )

注意:在关闭软件渲染时,您可能会遇到其他问题,例如性能降级,因为它处理填充和透明度(Optimizing Performance: Taking Advantage of Hardware