The data binding capabilities of WPF are one of the most powerful parts of the XAML platform. Data binding allows you to keep your XAML UI definition loosely coupled from the logic and data access that gets data into the application that will be used for display purposes. You can use data binding to build rich, interactive, beautifully designed user interfaces that are driven by data of many types. In this course you will learn how to leverage all the features of data binding and will learn enough to feel comfortable tackling everything from simple to complex data binding scenarios. You'll learn about what kinds of data sources you can work with, all the features that the Bindings themselves support, and how to use DataTemplates to provide a custom, reusable XAML rendering of your data objects. You'll learn how to use design time features in Visual Studio to generate data bound UIs or hook up existing ones, and you'll learn how to use the validation features to validate input data and present errors to the user. Along the way, you'll see some demos that use the Model-View-ViewModel (MVVM) pattern and others that do not so you can see the power of data binding regardless of the UI patterns that you follow.