永发信息网

windows窗体程序和 wpf有何区别 他们的实际应用范围有何区别

答案:1  悬赏:10  手机版
解决时间 2021-03-06 11:09
  • 提问者网友:树红树绿
  • 2021-03-05 16:18
windows窗体程序和 wpf有何区别 他们的实际应用范围有何区别
最佳答案
  • 五星知识达人网友:迟山
  • 2021-03-05 16:26
摘自《WPF揭秘》
下面是WPF的一些亮点:
‰1. 广泛整合——在WPF出现之前,Windows开发人员若需要在普通的2D图形和控件之外再
使用3D、视频、语音、富文档视图技术,就不得不学习一些独立技术,这些技术之间通
常存在许多不一致,而且是在没有多少内建支持的情况下组合运用它们。而WPF通过统
一的编程模型和紧密整合涵盖了所有这些部分,在紧密整合下,各种媒体类型都能组合
起来并一起呈现。你可以在不同媒体类型上应用一致的效果,你所学的某个领域中的许
多技术可以应用在任何其他领域。
2.与分辨率无关——想象这样一个世界,在这里切换到高分辨率设置时并不意味着什么东
西都变小了,而是让图形和文本的显示更清晰!试想,用户界面在轻巧的Ultra-Mobile PC
的屏幕上和在50英寸的电视机上都能很好地显示。WPF让这一切变得简单,允许你缩小
或者放大屏幕上的元素,却不需要考虑屏幕的分辨率,因为WPF使用矢量图形,使许多
这方面的需求变为可能。
硬件加速——虽然WPF是项新技术,但是它是基于Direct3D创建的。特别要注意的是,在
WPF应用程序中无论是2D还是3D的图形或者文字内容都会被转换为3D三角形、材质和其
他Direct3D对象,并由硬件负责渲染。这意味着WPF应用程序与基于GDI的系统不同,它
们可以从硬件加速中获得好处,从而获得更平滑的图像和更好的性能
声明式编程——20多年来,Win16/Win32程序都用声明式资源脚本来定义对话框和菜单的布
局。虽然Windows Forms没有内建对声明式用户界面定义的支持,但所有类型的.NET程序
通常是利用声明式定制属性和基于XML的配置和资源文件。
富创作和定制(Rich composition and customization)——WPF控件具有你从没见过的创作
能力。你可以将一些动画按钮放入一个ComboBox控件中,或者将一些视频剪辑放入一个
菜单中!
何时我该使用WPF而不是Windows Forms ?(Windows Forms没有用了吗?)
WPF明显更适合于开发具有富媒体(rich media)的应用程序,但是有人曾说过:Windows
Forms是传统用户界面的商业应用程序的最佳选择。我认为这个说法是针对WPF测试版的,测
试版还缺少许多标准的控件(如TreeView、ListView和OpenFileDialog),也没有可视化的设
计器,这使得用WPF开发传统的Windows应用程序比用Windows Forms要难得多。
虽然Windows Forms有一些十分有用的控件(例如DataGridView和PropertyGrid)是WPF
所没有的,并且在我编写本书的时候,市场上Windows Forms有更多第三方控件,但WPF却有
一些即使对传统用户界面设计而言也是令人激动的特性(如支持分辨率无关性和高级布局)。
在第15章中,我将向你展示如何在一个WPF应用程序中使用Windows Forms控件。
因此,除非必须用Windows 98(Windows Forms 2.0仍然支持Windows 98但是WPF不支持),
否则我会建议你使用WPF而不是Windows Forms来开发大部分应用程序——特别是在Visual
Studio 2008发布以后。但是Windows Forms不会这么快就消失,在2005年2.0版本发布之后,不
会再对它做什么重大改进了。很明显,微软正在为WPF铺路(而不是Windows Forms),使它
成为未来的呈现平台
WPF应用程序也可以在Web浏览器内运行。它的优点在于有更好的开发工具和编程模型、
更加丰富的特性、健壮的控件重用性、广泛的编程语言支持,以及对于底层平台的完全访问(如
果安全机制允许的话)。但是查看这样的内容需要Windows系统和.NET Framework 3.0
(Windows Vista和之后的版本默认安装了.NET Framework 3.0)。
为了实现跨平台支持和到处运行,微软已经发布了Silver light。Silver light是一个小型的、
轻量级运行时环境,它是WPF的一个子集。除了支持C#和Visual Basic以外,它还支持XAML
和JavaScript,并且最终它将既可以在Windows系统也可以在非Windows系统中运行。在编写本
书的时候,WPF/E将考虑支持基于矢量的图形、图像、视频、动画、文本和基本控件,但是它
不支持3D、富文档(rich document)、可扩展性和硬件加速。就让我们拭目以待,看WPF或Silver light作为Flash的替代品将会流行到何种程度。
希望对你有帮助。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯