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 firstname.lastname@example.org or by phone on +44 (0)1285 713297.
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.
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.
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.
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.