Learn to create WPF applications in VS 2010
Windows Presentation Foundation (WPF) is Microsoft's next-generation presentation platform. WPF allows rich client applications to take full advantage of the graphical capabilities of a modern PC. This course will introduce practicing .NET developers to the new programming models and UI features introduced by WPF.
Course Schedule
| Date | Registration |
| October 24th and 25th 2011 | Closed |
| November 9th and 10th 2011 | Open |
Course Contents
Module 1: Introduction to WPF
Lessons
- Introduction
- What is WPF?
- Why WPF?
- Integration
- WPF Design
- Xaml
- UI Tree
- Events and Commands
- Controls
- Primitive Elements
- Layout
- Flowed Text
- Data
- Deployment
- Silverlight
- Designers
Module 2: Controls
Lessons
- Controls
- Outline
- Buttons
- Content Model
- Grouping Controls
- Text Input
- Range Controls
- Items Controls
- More Items Controls
- Item Controls and Content Models
- Item Containers
- Controls vs Elements
- Events and Commands
- Event Routing
- Built-in Commands
- Menus and Commands
- Menus
Module 3: Layout
Lessons
- Layout
- Layout Process
- Declarative Layout
- Margin
- Padding
- Alignment
- Content Alignment
- Explicit Width and Height
- Grid
- GridSplitter
- DockPanel, StackPanel, WrapPanel
- Canvas
- ScrollViewer
- Viewbox
- Windows
- Navigation
Module 4: Graphics
Lessons
- Graphics
- Graphics
- WPF and Graphics Cards
- Transformability
- Composition and Integration
- Procedural vs. Declarative
- Primitives vs. Shapes
- Basic Brushes
- Pens
- Geometries
- Multi-figure PathGeometry
- PathGeometry Segment Types
- Simple Geometries
- GeometryGroup
- Path Syntax
- CombinedGeometry
- Drawings
- Composite Brushes
- Imaging
- Video
- TileBrush
- Transforms
- Clipping and OpacityMask
- Bitmap Effects
- Animation
- 3D
Module 5: Data Binding
Lessons
- Data in WPF
- Data Binding
- Binding Targets
- Binding Expressions
- Creating Bindings in Code
- Explicit Data Source
- Data Source as Resource
- Data Contexts
- Without Data Context
- With Data Context
- Data Templates
- DataTemplate Instantiation
- DataTemplate Triggers
- Binding to Collections
- Master Details
- Hierarchical Binding
- Data Providers
- XML Binding
- XML Without Provider
- XML Namespaces
- Collection Views
- Writing Data Sources
- Converters
- Validation
- Showing Validation Errors
- Other Binding Types
Module 6: Core Types
Lessons
- Core Types
- DependencyObject
- DependencyProperty
- Metadata
- Change Notification
- Attached Properties
- Inheritance
- UIElement and ContentElement
- Core and Framework
- Freezable and Animatable
Module 7: Templates
Lessons
- Control Templates
- Customization Continuum
- Lookless Controls
- Control Templates
- TemplateBinding
- Triggers
- Trigger Targeting
- Contracts
- Contract Kinds
- Named Parts
- ContentControl
- ItemsControl Options
- ItemsControl Full Template
- HeaderedItemsControl
- Templates are Factories
- Logical and Visual Trees
Module 8: Resources
Lessons
- Introduction
- Reusable Resources
- Defining Resources
- ResourceDictionary
- Resource References
- Resource Hierarchy
- Alternate Reference Syntax
- Implicit Resource Usage
- Merging Dictionaries
- Binary Resources
- Example: ImageSource
- Application Resource Methods
- Themes
- Internationalization
- Xaml and Localization
- Localization Workflow
- LocBaml
- Xaml, XML, and Language
Module 9: Text
Lessons
- Text and Documents
- Rich Text Anywhere
- TextBlock
- Inline Text Elements
- Block Text Elements
- Document Viewer Controls
- Paragraph
- Section
- List
- Table
- Figures and Floaters
- Floater
- Figure
- Typography
- Integration
- TextBox and RichTextBox




