我读到
WPF使用DirectX来执行其渲染,它不依赖于WinForms用于渲染控件的恐龙库.
所以我使用WPF创建了我的表示层,它看起来应该在Win8下.
然后我将项目部署到Windows Server 2003 …以发现我漂亮的小自定义消息框看起来非常像WinForms,有点笨重;按钮控件非常类似于WinForms控件,扩展器控件不再显示为带圆圈的^箭头,看起来像是在1998年绘制的(图片中的^箭头在一个丑陋的方形平面按钮上,当你的鼠标悬停在它上面时弹出它).
来自C#2010圣经中的Pro WPF:
Part of the promise of WPF is that you don’t need to worry about the details and idiosyncrasies of specific hardware. WPF is intelligent enough to use hardware optimizations where possible,but it has a software fallback for everything. So if you run a WPF application on a computer with a legacy video card,the interface will still appear the way you designed it.
那么,这是谎言吗?对我而言,因为它不像我设计的那样出现.
如果没有,那么无论运行它的机器如何,为什么/如何渲染相同的东西呢?软件回退是否以某种方式设计为模仿Win32 / GDI渲染?有没有办法让我的小自定义消息框在Win8和WinServer2K3上看起来相同?