--- title: What is Windows Presentation Foundation description: This article gives an overview about what Windows Presentation Foundation (WPF) is as it relates to .NET Core and what features are provided. ms.date: 07/18/2019 ms.topic: overview #Customer intent: As a developer, I want to understand the components of WPF so that I can understand the overall picture of WPF. --- # What is Windows Presentation Foundation Welcome to the Desktop Guide for Windows Presentation Foundation (WPF), a UI framework that creates desktop client applications for Windows. The WPF development platform supports a broad set of application development features, including an application model, controls, graphics, and data binding. WPF uses Extensible Application Markup Language (XAML) to provide a declarative model for application programming. [!INCLUDE [desktop guide under construction](../../includes/desktop-guide-preview-note.md)] There are two implementations of WPF: 01. The open-source implementation hosted on [GitHub](https://github.com/dotnet/wpf). This version runs on .NET Core 3.0. The WPF Visual Designer for XAML requires, at a minimum, [Visual Studio 2019 version 16.3](https://visualstudio.microsoft.com/downloads/?utm_medium=microsoft&utm_source=docs.microsoft.com&utm_campaign=inline+link&utm_content=download+vs2019+desktopguide). 01. The .NET Framework implementation that's supported by Visual Studio 2019 and Visual Studio 2017. This Desktop Guide is written for .NET Core 3.0 and WPF. For more information about the existing documentation for WPF with the .NET Framework, see [Framework Windows Presentation Foundation](../../../framework/wpf/index.md). ## XAML XAML is a declarative XML-based language that WPF uses for things such as defining resources or UI elements. Elements defined in XAML represent the instantiation of objects from an assembly. XAML is unlike most other markup languages, which are interpreted at runtime without a direct tie to a backing type system. The following example shows how you would create a button as part of a UI. This example is intended to give you an idea of how XAML represents an object, where `Button` is the type and `Content` is a property. ```xaml