所以我使用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上看起来相同?
和WPF一起从Windows主题中获取所有UI元素的DEFAULT外观.
如果您不想要这种行为,则必须为所有UI元素类型提供样式和模板,或者在应用程序中找到一种方法将PresentationFramework.Aero.dll包含在内,并将其用作默认主题库.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。