这是一个简单的问题,但我似乎无法正确制定它。
WPF和WinForms如何“定位”在.NET框架中?
我的意思是,WPF是.NET框架和WinForms的一个子系统,是一个图形API,但任何人都可以向我解释这些是如何不同的?我知道API的含义和用法,但WPF是子系统让我感到困惑。是否有视觉辅助可以澄清这一点。
我也明白WinForms和WPF都是创建图形应用程序的方法。
我希望我有意义......
我从以下地址获取信息: http://en.wikipedia.org/wiki/Windows_Presentation_Foundation
答案 0 :(得分:1)
我不知道你从哪里得到这个“WPF是.NET框架的一个子系统”,但起初我会说不。 WPF和Windows Forms都是使用托管语言构建图形应用程序的框架。虽然winforms或多或少是winapi的一个包装器,但是增强了.net功能,比如事件; WPF只是win api的包装器,直到到达窗口,从那一点开始,一切都是使用加速硬件完成的,这样可以提供更多的灵活性,比如使用矢量图形,内置动画支持。使用这两种api的方式也完全不同,在WPF中例如使用XAML(不是必需但很好)来表达ui应该如何看,如何组成控件等。另外在WPF中控件的设计不是固定,可以完全改变。这是通过从外观上很好地划分逻辑来完成的。 现在,我只能看一下WPF带给表的一些基本工具,比如依赖属性,我可以理解.net部分的子系统,但我再也不认为你会使用WPF那么多而不使用它作为api用于创建图形应用程序也就是说,当然可以将Windows窗体与WPF相互混合。
tl:dr:两者都是用于创建丰富的图形应用程序的api,但具有完全不同的设计理念和不同的方法来实现目标。