| About WPF | |
| What is WPF? | |
| WPF vs. WinForms | |
| Getting started | |
| Visual Studio Community | |
| Hello, WPF! | |
| XAML | |
| What is XAML? | |
| Basic XAML | |
| Events in XAML | |
| A WPF application | |
| A WPF Application - Introduction | |
| The Window | |
| Working with App.xaml | |
| Command-line parameters in WPF | |
| Resources | |
| Handling exceptions in WPF | |
| Application Culture / UICulture | |
| Basic controls | |
| The TextBlock control | |
| The TextBlock control - Inline formatting | |
| The Label control | |
| The TextBox control | |
| The Button control | |
| The CheckBox control | |
| The RadioButton control | |
| The PasswordBox control | |
| The Image control | |
| Control concepts | |
| Control ToolTips | |
| WPF text rendering | |
| Tab Order | |
| Access Keys | |
| Panels | |
| Introduction to WPF panels | |
| The Canvas control | |
| The WrapPanel control | |
| The StackPanel control | |
| The DockPanel control | |
| The Grid Control | |
| The Grid - Rows & columns | |
| The Grid - Units | |
| The Grid - Spanning | |
| The GridSplitter | |
| Using the Grid: A contact form | |
| UserControls & CustomControls | |
| Introduction | |
| Creating & using a UserControl | |
| Data binding | |
| Introduction to WPF data binding | |
| Hello, bound world! | |
| Using the DataContext | |
| Data binding via Code-behind | |
| The UpdateSourceTrigger property | |
| Responding to changes | |
| Value conversion with IValueConverter | |
| The StringFormat property | |
| Debugging data bindings | |
| Commands | |
| Introduction to WPF Commands | |
| Using WPF commands | |
| Implementing a custom WPF Command | |
| Dialogs | |
| The MessageBox | |
| The OpenFileDialog | |
| The SaveFileDialog | |
| The other dialogs | |
| Creating a custom input dialog | |
| Common interface controls | |
| The WPF Menu control | |
| The WPF ContextMenu | |
| The WPF ToolBar control | |
| The WPF StatusBar control | |
| The Ribbon control | |
| Rich Text controls | |
| Introduction to WPF Rich Text controls | |
| The FlowDocumentScrollViewer control | |
| The FlowDocumentPageViewer control | |
| The FlowDocumentReader control | |
| Creating a FlowDocument from Code-behind | |
| Advanced FlowDocument content | |
| The RichTextBox control | |
| How-to: Creating a Rich Text Editor | |
| Misc. controls | |
| The Border control | |
| The Slider control | |
| The ProgressBar control | |
| The WebBrowser control | |
| The WindowsFormsHost control | |
| The GroupBox control | |
| The Calendar control | |
| The DatePicker control | |
| The Expander control | |
| The TabControl | |
| Using the WPF TabControl | |
| WPF TabControl: Tab positions | |
| WPF TabControl: Styling the TabItems | |
| List controls | |
| The ItemsControl | |
| The ListBox control | |
| The ComboBox control | |
| The ListView control | |
| Introduction to the ListView control | |
| A simple ListView example | |
| ListView, data binding and ItemTemplate | |
| ListView with a GridView | |
| How-to: ListView with left aligned column names | |
| ListView grouping | |
| ListView sorting | |
| How-to: ListView with column sorting | |
| ListView filtering | |
| The TreeView control | |
| TreeView introduction | |
| A simple TreeView example | |
| TreeView, data binding and multiple templates | |
| TreeView - Selection/Expansion state | |
| Lazy loading TreeView items | |
| The DataGrid control | |
| The DataGrid control | |
| DataGrid columns | |
| DataGrid with row details | |
| Styles | |
| Introduction to WPF styles | |
| Using WPF styles | |
| Trigger, DataTrigger & EventTrigger | |
| WPF MultiTrigger and MultiDataTrigger | |
| Trigger animations | |
| Audio & Video | |
| Playing audio | |
| Playing video | |
| How-to: Creating a complete Audio/Video player | |
| Speech synthesis (making WPF talk) | |
| Speech recognition (making WPF listen) | |
| Misc. | |
| The DispatcherTimer | |
| Multi-threading with the BackgroundWorker | |
| Cancelling the BackgroundWorker | |
| Creating a Game: SnakeWPF | |
| Introduction | |
| Creating the game area | |
| Creating & moving the Snake | |
| Continuous movement with DispatcherTimer | |
| Adding food for the Snake | |
| Controlling the Snake | |
| Collision Detection | |
| Improving SnakeWPF: Making it look more like a game | |
| Improving SnakeWPF: Adding a high score list | |
| Improving SnakeWPF: Adding sound | |
| Full game & final words | |