WPF and XAML - Links to documents and tutorials
Simplifications
- Dependency properties
- Freezable Objects
- C# String Formatting
- Use of MarkupExtension with Converters in WPF
- Events Tutorial
Demonstration Videos
XAML Power Toys
XAML Power Toys is a Visual Studio 2008 SP1 Add-In or a Visual Studio 2010 Add-In that empowers WPF & Silverlight developers while working in the XAML editor. Its Line of Business form generation tools, Grid tools, DataForm, DataGrid and ListView generation really shorten the XAML form layout time
Show Me The Templates
Show Me The Template is a tool for exploring the templates, be their data, control or items panel, that comes with the controls built into WPF for all 6 themes.
Podcast
Windows Forms Controls and Equivalent WPF Controls
XAML XAML Syntax Terminology
MVVM
Tutorials
WPF
- Advanced WPF - Understanding Routed Events and Commands In WPF - Brian Noyes
- Patterns - WPF Apps With The Model-View-ViewModel Design Pattern - Josh Smith
- Using RoutedCommands with a ViewModel in WPF - Josh Smith
- A Guided Tour of WPF – Part 1 (XAML) - Josh Smith
- A Guided Tour of WPF – Part 2 (Layout) - Josh Smith
- A Guided Tour of WPF – Part 3 (Data binding) - Josh Smith
- A Guided Tour of WPF – Part 4 (Data templates and triggers) - Josh Smith
- A Guided Tour of WPF – Part 5 (Styles) - Josh Smith
- WPF: A Beginner's Guide - Part 1 of n The WPF layout system - Sacha Barber
- WPF: A Beginner's Guide - Part 2 of n XAML / code and WPF resources - Sacha Barber
- WPF: A Beginner's Guide - Part 3 of n RoutedEvents / RoutedCommands - Sacha Barber
- WPF: A Beginner's Guide - Part 4 of n WPF Dependancy Properties - Sacha Barber
- WPF: A Beginner's Guide - Part 5 of n WPF Databinding - Sacha Barber
- A Versatile TreeView for WPF - Philipp Sumi
- A versatile WPF TreeView control - Philipp Sumi (newer code?)
- Prevent a binding from updating too frequently - Josh Smidt
- Customize Data Display with Data Binding and WPF - Josh Smidt
Threading
Prism
- Prism - Patterns For Building Composite Applications With WPF - Glenn Block
- Prism v4 Region Navigation Pipeline
- MVVM with Prism 101 – Part 3: Regions
- Regions in Prism Video
- Creating View-Switching Applications with Prism 4
Developer's Guide to Microsoft Prism 4.1 - February 2012
DependencyObject and DependencyProperty
- Avalon: Understanding DependencyObject and DependencyProperty
- Meet DependencyObject and DependencyProperty, the .NET Data-Binding Boosters
Tree View
- Simplifying the WPF TreeView by Using the ViewModel Pattern
- Introduction to Attached Behaviors in WPF - Josh Smith
Photo scroll
- Photoscroll -- the worst named WPF demo application with source code!
- Extracting thumbnails from a JPEG/JPG in .NET 3.0
Diagram Designer
- WPF Diagram Designer: Part 1 - sukram - Drag, resize and rotate elements on a Canvas
- WPF Diagram Designer - Part 2 - sukram - Designer Canvas with Zoombox
- WPF Diagram Designer - Part 3 - sukram - Connecting items
Implementing a VirtualizingPanel
Displaying large sets of data can be challenging to do performantly. If you have a scrolling list of data, one technique to improve performance is to only create the UI elements that are visible. This is refered to as UI virtualization (as opposed to data virtualization, which is the technique of not...
- Implementing a virtualized panel in WPF (Avalon)
- Implementing a VirtualizingPanel part 2: IItemContainerGenerator
- Implementing a VirtualizingPanel part 3: MeasureCore
- VirtualizingPanel Implementing a VirtualizingPanel part 4: the goods!
Colors and gradients
This is a page that will create a gradient (gradual color change) between 2 RGB colors.
ColorPic
.
Windows Vista Technical Articles
<google>ENGELSK</google>
ListView
Painting with drawings and zooming
- Viewbox and Viewport in Windows Presentation Foundation
- Painting with Images, Drawings, and Visuals
- TileBrush .Viewport Property
Databinding
Buttons
Libraries
Tools
- Crack.NET - A runtime debugging and scripting tool
- Snoop - A random utility made to simplify visual debugging of WPF applications at runtime
- Mole For Visual Studio - With Editing - Visualize All Project Types
- Josh Smith's page about Mole
Threads in WPF
Prevent a binding from updating too frequently
Validation of TextBoxes
- Validation in Windows Presentation Foundation - codeproject
- Regex Validation in WPF - codeproject
- How to: Make Data Available for Binding in XAML
- Binding to (Validation.Errors)[0 without Creating Debug Spew - Josh Smith]
- Using Validation.ErrorTemplate - The WPFGlue Blog
- Validation.ErrorTemplate Attached Property
- Validation.ValidationAdornerSite Attached Property
See. Popup and Adorners
Popup
Adorners
- WPF Adorners Part 1 – What are adorners - Nbd-Tech
- WPF Adorners Part 2 – Placing any control on the adorner layer - Nbd-Tech
- WPF Adorners Part 3 – Adorners and Validation - Nbd-Tech
- WPF Adorners Part 4 – Simple and Powerful System for Using Adorners - Nbd-Tech
Styling and Templating
Shutting down the application
RelativeSources (and sizes) in XAML
- Grid Size Sharing in WPF
- WPF - ListBox, ItemsPanelTemplate and a WrapPanel
- What is the difference between Source, RelativeSource, and ElementName when creating a Binding?
Context sensitive help and .chm files
StringFormat
Developing and testing Guides
Performance profiling tools
Performance guide
User controls
WPF user controls can't be used if their Assembly name contains spaces.
You will get error: mc3074 if the xmlns url contains spaces.