WPF stands for Windows Presentation Foundation (code-named ‘Avalon’). It's a vector-based graphical subsystem used to render user interfaces (UI) in Windows-based applications.
Because it's vector based, it can effectively scale UI components to any size without distorting or pixelating them. WPF contains features that will help you develop rich windows applications.
Developers may wonder why they should use WPF, when the .NET Framework already enables you to do this using WinForms. The answer is that WPF offers a few major advantages:
1 WPF has the ability to separate UI from logic effectively.
2 WPF has an inbuilt storyboarding feature and animation models.
3 Data binding is very much better than with the WinForms application.
4 WPF allows you to handle large data sets because of it has a built-in 'user interface virtualisation' feature.
5 WPF offers data and control templates that provide flexible modelling of UI on data models.
6 WPF supports 3D graphics to make UIs look really special.
7 WPF supports various types of media such as video, 3D content and animations.
8 Even if Visual Studio designer is not available, you can code in XAML (Extensible Application Markup Language).
9 WPF has the ability to use business objects in UI declaratively. In other words, a developer can build and package the business objects in an assembly and then one can instantiate the instances of them in XAML and bind them to controls directly. Not a single line of code is required for this at UI.
10 WPF enables programmers to develop much of the application in a completely declarative model, using XAML.
11 WPF has far more effective control creation and reusability features that provide greater flexibility to developers in building UIs.
It can take time to understand all of WPF's advantages, but once mastered, it is a great addition to a developer's expertise for building highly rich, scalable and robust windows applications.