C# WPF Training Course

The Graphics Network

Training and Development for Windows, Linux and the Web

01285 713297 info@tgn.co.uk

WPF for experienced C# developers

This 3 day course covers the development of WPF applications using C# and XAML, assuming that you already know the C# language. It covers several development approaches including MVVM.

The 3 day course costs £1920 in total for up to 6 students, plus VAT and the instructor's reasonable expenses. Each student beyond 6 would cost £20 for the additional course materials. If you are interested in this course, please contact us by email at enquiries@tgn.co.uk or by phone on +44 (0)1285 713297.

Course Outline:

Introduction to WPF

What WPF is for. XAML. The technologies. The tools. Patterns and Model-View-ViewModel. WPF vs Windows Store Apps.

Designing a user interface with XAML

What XAML is. XAML details. Designing a window. Basic controls. Properties and attached properties. Panels and layouts. Code-behind and simple events.

Event handling

The event architecture. Event bubbling and routed events. Tunnelling and preview events. Commands.

Containers and layouts

Panels. Canvas and absolute positioning. Wrap and Stack Panels. Margins, sizes and alignment. DockPanel. Grid and UniformGrid. Splitting and scrolling. Viewbox. Controls as containers.

WPF styles and controls

User controls. How WPF controls work. Drawing and presentation. Resources and resource dictionaries. Defining and using styles. Dynamic resources. Control templates. Triggers and animation.

Data binding

Connecting controls. Binding to objects. Binding modes. Syntax alternatives. Using data contexts. Events and updating. Property change notifications. Observable and binding collections. Data templates. Formatting. Using Prism and BindableBase.


'Built-in' commands. Binding to commands. Application defined commands. Using Prism and DelegateCommand. Using MVVM Light and RelayCommand.

Binding techniques

Data grids and column design. Items controls and lists. Enhancing data templates. Value converters. XAML namespaces and object creation. Binding multiple properties. Validation and error handling. Custom validation rules.

Model View View-Model (MVVM)

The architecture. Separating the View and the View Model. Creating the ViewModel from XAML. View first and View Model first. Views and data templates. Selection controls and enums. Dialogs. Using Multiple View/ViewModels. Building flexible user interfaces using user controls and regions. Application controllers and singletons.

LINQ and databases

Binding to data. Databases and POCOs. Using Entity Framework. Using LINQ in general programming. LINQ, binding and data. Hierarchy and relationships. Hierarchical data templates.

Using Windows Forms

Using Windows Forms from WPF. Using WPF from Windows Forms. Compatibility considerations. Integrating existing application code.


Shapes and colours. Designing a visually interesting user interface. Creating graphics dynamically. Bitmaps and images.

Optional - Introducing the 3rd dimension

Coordinate systems and geometry. The ubiquitous triangle. Cameras and lighting. Models, meshes and materials. Building shapes. Practical examples.