Overview of Windows Presentation Foundation
WPF is a set of .NET Framework classes that you can use to build attractive and functional UIs for Windows-based client applications.
WPF uses the DirectX graphics engine to provide sophisticated graphics and efficient rendering.
WPF enables you to develop applications by using both declarative markup and managed code.
Typically, you use XAML to implement the appearance of your application and you use a .NET Framework managed programming language, such as C#, to implement behavior.
This separation of appearance from behavior offers many advantages when you build graphical applications.
For example, designers can work on the appearance of an application at the same time as developers independently work on the code-behind functionality.
You can use WPF to create stand-alone applications and applications that are hosted in a Web browser.
When you create stand-alone applications, you use the Window class and you use menu bars, toolbars, and dialog boxes as the building blocks of your application.
When you create browser-hosted applications, you use the Page class as your foundation and you provide hyperlinks to enable users to navigate between the pages in your application.
In both cases, you can use the Application class to share session data, properties, and resources across your application.
WPF includes many other features that enhance the experience of the developer and the end user.
For example, the WPF layout system makes it easy for you to develop controls and layouts that adapt to differing window sizes and display settings.
This is an essential part of the modern user experience.
The WPF data-binding system makes it easy for you to implement two-way data binding between controls and data sources.
Finally, the graphics system includes support for highly sophisticated two-dimensional graphics, three-dimensional graphics, and animations that you can use to create genuinely engaging applications.
