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
|
Not started
|
TreeView - Selection/Expansion state
|
Not started
|
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
|
Not started
|
Trigger animations
|
Not started
|
Audio & Video
|
|
Playing audio
|
|
Playing video
|
|
How-to: Creating a complete Audio/Video player
|
|
Speech synthesis (making WPF talk)
|
Not started
|
Speech recognition (making WPF listen)
|
Not started
|
Misc.
|
|
The DispatcherTimer
|
|
Multi-threading with the BackgroundWorker
|
Not started
|
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
|
Not started
|
Improving SnakeWPF: Adding sound
|
Not started
|
Full game & final words
|
Not started
|