我读到 WPF 在后台使用 DirectX 来执行其渲染,它不依赖于 WinForms 用来渲染控件的恐龙库。
所以我用 WPF 制作了我的 Presentation 层,它在 Win8 下看起来应该是这样的。
然后我将该项目部署到 Windows Server 2003... 发现我漂亮的小自定义消息框看起来非常像 WinForms 并且有些笨拙;按钮控件与 WinForms 的控件非常相似,扩展器控件不再显示为带圆圈的^
箭头,并且看起来像是在 1998 年绘制的(^
想象一下当鼠标悬停在它上面时弹出的丑陋方形扁平按钮上的箭头) .
来自C# 2010圣经中的 Pro WPF :
WPF 的部分承诺是您无需担心特定硬件的细节和特性。WPF 足够智能,可以在可能的情况下使用硬件优化,但它对所有内容都有软件后备。因此,如果您在使用旧版显卡的计算机上运行 WPF 应用程序,界面仍将按照您设计的方式显示。
那么,这是谎言吗?对我来说是这样,因为它看起来不像我设计的那样。
如果不是,那么无论运行它的机器如何,为什么/如何渲染不一样?软件后备是否以某种方式设计为模仿 Win32/GDI 渲染?有没有办法让我的小自定义消息框在 Win8 和 WinServer2K3 上看起来相同?