Google News
logo
WPF - Interview Questions
Difference between WPF and Winforms.
WinForms (Windows Forms) : WinForms is Microsoft's GUI (Graphical User Interface) approach to the .Net Framework and was introduced in February 2002. It was the primary API for .NET used to build Windows applications until WPF and Silverlight were introduced. In order to develop a standalone application, only the runtime environment and OS (Operating system) are required.

WPF (Windows Presentation Foundation) : In 2007, Microsoft introduced WPF to replace WinForms in desktop application development for the .Net Framework. WPF is a UI framework designed for creating Windows or desktop applications. Currently, it is the latest Windows presentation API.

Difference between WPF and Winforms :

WPF Winforms
It is the latest concept for building desktop/windows applications.   This is the old way to build desktop applications for Windows.  
A markup language is used to design the UI, allowing complex user interfaces to be designed.  No markup language is used to design UI. Instead, event-driven controls are used. 
Comparatively to WinForms, it provides effective and fully supported data binding. In data binding, a connection is established between the application UI (User Interface) and the data that the application displays.  Although it offers data binding, it does so in a limited way, so it's less effective than WPF.   
Besides providing 2D and 3D vector capabilities, it also offers functionality such as rich, interactive, animated, hardware-accelerated functions.  In comparison to WPF, it does not provide rich, interactive, animated, hardware accelerated, vector 2D and 3D features.     
It is not easy to use WPF as it requires good knowledge of the controls.   When developing applications, Windows forms are more convenient. 
There is no limit to the customization of the UI, and the controls can be modified without difficulty since it is written from scratch.   It typically contains limited controls that are not easy to customize.  
This is an efficient approach when building an application that requires a variety of media types, creates a skinned user interface, binds to XML, and creates a desktop application that has a web-like navigation style.  When you want to develop a simple application with few modern features and more resources online, it is considered good.
Advertisement