Workshop – Creating Desktop Applications with WPF

Old, but good – I’m teaching WPF since many years. September, 5th, 2016 I’m running an open WPF workshop in Vienna, Austria. This time this workshop gets an enhancement with the new Desktop App Converter also known as the desktop bridge.
WPF is a technology that you can use now, it’s supported for many years to come, supports not only Windows 10, but you can create applications that run on Windows 7 as well, and have an easy migration path for the Universal Windows Platform to include new features.

This workshop is for C# developers to learn XAML, many features of WPF applications including the MVVM pattern, as well as the Desktop App Converter for moving WPF applications to the Universal Windows Platform (UWP).

Starship

Let’s get into more details of this workshop:

WPF Foundations

We start with an introduction to WPF, advantages to other technologies, as well as the goals that brought this technology. With WPF, .NET event handling has been enhanced – you learn about tunneling and bubbling, as well as weak events. With XAML you learn about foundations such as dependency properties, markup extensions (also creating custom ones) and more.

Controls and Layouts

Here you learn about different kind of controls such as content controls, items controls, and controls with headers, defining the layout using the mighty Grid, as well as StackPanel, WrapPanel, DockPanel, making some drawings within a Canvas control, and more.

Data Binding and Validation

Data binding is really mighty with WPF – you learn the foundations of data binding, and also binding with master-detail, PriorityBinding, multi-binding, as well as converters, data template selectors… The CollectionView allows for filtering and sorting, you can also navigate through records, learn about change notification and validation with INotifyDataErrorInfo.

Styles, Resource, Templates, Animations

The UI of WPF can be customized by defining styles, and defining styles and instantiating objects within resources. Templates allow for complete customization of controls. You learn how buttons and items controls can be completely customized.

MVVM

If the application is not just really small, the MVVM pattern (Model View View-Model) gives independence between XAML and C#, and allows for easier unit testing, as well as code-reuse with other platforms, such as the Universal Windows Platform and Xamarin. Here you learn creating WPF applications using the MVVM pattern which also includes dependency injection containers, event aggregators, commands, and more.

Documents

A XPS document is defined using a subset of WPF. WPF not only gives easy ways to create XPS documents, but also defines flow documents. Here you learn about flow and fixed documents, as well as printing.

Desktop App Converter

The Desktop App Converter allows converting desktop applications to UWP. Here you learn the advantages you get with this conversion, what functionality is covered, how you can enhance your applications after they are converted, and what cannot be done.

Summary

Creating Desktop Applications with WPF gives you the skills to create rich applications for the desktop, use XAML to define nice looking user interfaces. This workshop gives you all the information needed to get started. Depending on wishes from the attendees, additional topics can be added. For example, often topics such as accessing the database using Entity Framework, or calling Web API services are requested. I like to fulfill the wishes of the course attendees depending on the time constraints.

Interested? Just register your interest for the workshop at CN innovation

More information about WPF in my new book Professional C# 6 and .NET Core 1.0

Have fun learning and programming!

Christian

Image Spaceship © Mariana Ionita | Dreamstime.com Spaceship

2 thoughts on “Workshop – Creating Desktop Applications with WPF

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s