WPF and XAML - Links to documents and tutorials: Difference between revisions
No edit summary |
|||
(28 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category:English pages]] | [[Category:English pages]] | ||
[[Category:Software development]] | [[Category:Software development]] | ||
==Simplifications== | |||
* [http://blah.winsmarts.com/2006-12-WPF__Dependency_Properties.aspx Dependency properties] | |||
* [http://blah.winsmarts.com/2006-12-WPF__Freezable_Objects.aspx Freezable Objects] | |||
* [http://mikestedman.blogspot.com/2008/10/c-string-formatting.html C# String Formatting] | |||
* [http://www.codeproject.com/Articles/35416/Use-of-MarkupExtension-with-Converters-in-WPF Use of MarkupExtension with Converters in WPF] | |||
* [http://msdn.microsoft.com/en-us/library/aa645739(v=vs.71).aspx Events Tutorial] | |||
==Demonstration Videos== | ==Demonstration Videos== | ||
* [http://windowsclient.net/learn/videos_wpf.aspx WPF Videos - WindowsClient.net] | * [http://windowsclient.net/learn/videos_wpf.aspx WPF Videos - WindowsClient.net] | ||
Line 30: | Line 37: | ||
==Tutorials== | ==Tutorials== | ||
====WPF==== | |||
* [http://www.wpf-tutorial.com/ The complete WPF tutorial] | |||
* [http://msdn.microsoft.com/da-dk/magazine/cc785480(en-us).aspx Advanced WPF - Understanding Routed Events and Commands In WPF - Brian Noyes] | * [http://msdn.microsoft.com/da-dk/magazine/cc785480(en-us).aspx Advanced WPF - Understanding Routed Events and Commands In WPF - Brian Noyes] | ||
* '''[http://msdn.microsoft.com/en-us/magazine/dd419663.aspx Patterns - WPF Apps With The Model-View-ViewModel Design Pattern - Josh Smith]''' | * '''[http://msdn.microsoft.com/en-us/magazine/dd419663.aspx Patterns - WPF Apps With The Model-View-ViewModel Design Pattern - Josh Smith]''' | ||
* '''[http://www.codeproject.com/KB/WPF/VMCommanding.aspx Using RoutedCommands with a ViewModel in WPF - Josh Smith]''' | * '''[http://www.codeproject.com/KB/WPF/VMCommanding.aspx Using RoutedCommands with a ViewModel in WPF - Josh Smith]''' | ||
* [http://www.codeproject.com/KB/WPF/GuidedTourWPF_1.aspx A Guided Tour of WPF – Part 1 (XAML) - Josh Smith] | * [http://www.codeproject.com/KB/WPF/GuidedTourWPF_1.aspx A Guided Tour of WPF – Part 1 (XAML) - Josh Smith] | ||
* [http://www.codeproject.com/KB/WPF/GuidedTourWPF_2.aspx A Guided Tour of WPF – Part 2 (Layout) - Josh Smith] | * [http://www.codeproject.com/KB/WPF/GuidedTourWPF_2.aspx A Guided Tour of WPF – Part 2 (Layout) - Josh Smith] | ||
Line 50: | Line 58: | ||
* [http://joshsmithonwpf.wordpress.com/2007/08/20/prevent-a-binding-from-updating-too-frequently/ Prevent a binding from updating too frequently - Josh Smidt] | * [http://joshsmithonwpf.wordpress.com/2007/08/20/prevent-a-binding-from-updating-too-frequently/ Prevent a binding from updating too frequently - Josh Smidt] | ||
* [http://msdn.microsoft.com/en-us/magazine/cc700358.aspx Customize Data Display with Data Binding and WPF - Josh Smidt] | * [http://msdn.microsoft.com/en-us/magazine/cc700358.aspx Customize Data Display with Data Binding and WPF - Josh Smidt] | ||
* [http://csharpsimplified.wordpress.com/2009/02/16/resources-in-wpf-i-binary-resources/ Resources in WPF – I (Binary Resources)] | |||
* [http://csharpsimplified.wordpress.com/2009/02/17/resources-in-wpf-ii-logical-resources/ Resources in WPF – II (Logical Resources)] | |||
=====Threading===== | |||
* [http://www.albahari.com/threading/ Threading in C# - Joseph Albahari] | |||
=====Prism===== | |||
* [http://msdn.microsoft.com/da-dk/magazine/cc785479(en-us).aspx Prism - Patterns For Building Composite Applications With WPF - Glenn Block] | |||
* [http://blogs.msdn.com/b/kashiffl/archive/2010/10/04/prism-v4-region-navigation-pipeline.aspx Prism v4 Region Navigation Pipeline] | |||
* [http://www.developmentalmadness.com/archive/2009/10/14/mvvm-and-prism-101-ndash-part-3-regions.aspx MVVM with Prism 101 – Part 3: Regions] | |||
* [http://development-guides.silverbaylabs.org/Video/Prism-Regions#videolocation_0 Regions in Prism Video] | |||
* [http://www.codeproject.com/Articles/165370/Creating-View-Switching-Applications-with-Prism-4 Creating View-Switching Applications with Prism 4] | |||
======Developer's Guide to Microsoft Prism 4.1 - February 2012====== | |||
* [http://msdn.microsoft.com/en-us/library/gg430865(v=pandp.40).aspx Contents of the Guide] | |||
* [http://msdn.microsoft.com/en-us/library/gg430861(v=pandp.40).aspx Chapter 8: Navigation] | |||
===DependencyObject and DependencyProperty=== | ===DependencyObject and DependencyProperty=== | ||
Line 67: | Line 91: | ||
* [http://www.codeproject.com/KB/WPF/WPFDiagramDesigner_Part2.aspx WPF Diagram Designer - Part 2 - sukram - Designer Canvas with Zoombox] | * [http://www.codeproject.com/KB/WPF/WPFDiagramDesigner_Part2.aspx WPF Diagram Designer - Part 2 - sukram - Designer Canvas with Zoombox] | ||
* [http://www.codeproject.com/KB/WPF/WPFDiagramDesigner_Part3.aspx WPF Diagram Designer - Part 3 - sukram - Connecting items] | * [http://www.codeproject.com/KB/WPF/WPFDiagramDesigner_Part3.aspx 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... | |||
* [http://blogs.msdn.com/b/dancre/archive/2006/02/06/implementing-a-virtualized-panel-in-wpf-avalon.aspx Implementing a virtualized panel in WPF (Avalon)] | |||
* [http://blogs.msdn.com/b/dancre/archive/2006/02/13/implementing-a-virtualizingpanel-part-2-iitemcontainergenerator.aspx Implementing a VirtualizingPanel part 2: IItemContainerGenerator] | |||
* [http://blogs.msdn.com/b/dancre/archive/2006/02/14/implementing-a-virtualizingpanel-part-3-measurecore.aspx Implementing a VirtualizingPanel part 3: MeasureCore] | |||
* [http://blogs.msdn.com/b/dancre/archive/2006/02/16/implementing-a-virtualizingpanel-part-4-the-goods.aspx VirtualizingPanel Implementing a VirtualizingPanel part 4: the goods!] | |||
==Colors and gradients== | ==Colors and gradients== | ||
Line 92: | Line 123: | ||
* [http://www.ontheblog.net/CMS/Home/tabid/36/EntryID/37/Default.aspx WPF: How to stretch columns in a ListView ] | * [http://www.ontheblog.net/CMS/Home/tabid/36/EntryID/37/Default.aspx WPF: How to stretch columns in a ListView ] | ||
* [http://msdn.microsoft.com/en-us/library/system.windows.controls.gridview.columnheadercontainerstyle.aspx GridView..::.ColumnHeaderContainerStyle Property] | * [http://msdn.microsoft.com/en-us/library/system.windows.controls.gridview.columnheadercontainerstyle.aspx GridView..::.ColumnHeaderContainerStyle Property] | ||
==Painting with drawings and zooming== | |||
* [http://nayyeri.net/viewbox-and-viewport-in-windows-presentation-foundation Viewbox and Viewport in Windows Presentation Foundation] | |||
* [http://msdn.microsoft.com/en-us/library/ms749021.aspx Painting with Images, Drawings, and Visuals] | |||
* [http://127.0.0.1:47873/help/1-3668/ms.help?product=VS&productVersion=100&method=f1&query=System.Windows.Media.TileBrush.Viewport%00VS.XamlEditor&locale=en-US&category=TargetFrameworkMoniker:.NETFramework,Version%3Dv4.0 TileBrush .Viewport Property] | |||
==Databinding== | |||
* [http://blog.blueboxes.co.uk/wp-content/uploads/2009/02/wpfcheatsheet.pdf XAML for WPF Cheat Sheet] | |||
==Buttons== | ==Buttons== | ||
Line 107: | Line 146: | ||
==Threads in WPF== | ==Threads in WPF== | ||
* [http://msdn.microsoft.com/en-us/magazine/cc163328.aspx WPF Threads - Build More Responsive Apps With The Dispatcher] | * [http://msdn.microsoft.com/en-us/magazine/cc163328.aspx WPF Threads - Build More Responsive Apps With The Dispatcher] | ||
==Prevent a binding from updating too frequently== | ==Prevent a binding from updating too frequently== | ||
Line 122: | Line 153: | ||
* [http://www.codeproject.com/KB/WPF/wpfvalidation.aspx Validation in Windows Presentation Foundation - codeproject] | * [http://www.codeproject.com/KB/WPF/wpfvalidation.aspx Validation in Windows Presentation Foundation - codeproject] | ||
* [http://www.codeproject.com/KB/WPF/RegexValidationInWPF.aspx Regex Validation in WPF - codeproject] | * [http://www.codeproject.com/KB/WPF/RegexValidationInWPF.aspx Regex Validation in WPF - codeproject] | ||
* [ | * [http://msdn.microsoft.com/en-us/library/ms752347.aspx How to: Make Data Available for Binding in XAML] | ||
* [http://joshsmithonwpf.wordpress.com/2008/10/08/binding-to-validationerrors0-without-creating-debug-spew/ Binding to (Validation.Errors)[0] without Creating Debug Spew - Josh Smith] | |||
* [http://wpfglue.wordpress.com/2009/12/16/using-validation-errortemplate/ Using Validation.ErrorTemplate - The WPFGlue Blog] | |||
* [http://msdn.microsoft.com/en-us/library/system.windows.controls.validation.errortemplate.aspx Validation.ErrorTemplate Attached Property] | |||
* [http://msdn.microsoft.com/en-us/library/system.windows.controls.validation.validationadornersite.aspx Validation.ValidationAdornerSite Attached Property] | |||
See. Popup and Adorners | |||
==Popup== | |||
* [http://msdn.microsoft.com/en-us/library/bb613596.aspx Popup Placement Behavior] | |||
* [http://msdn.microsoft.com/en-us/library/vstudio/system.windows.controls.primitives.popup.aspx Popup Class] | |||
==Adorners== | |||
* [http://www.nbdtech.com/Blog/archive/2010/06/21/wpf-adorners-part-1-ndash-what-are-adorners.aspx WPF Adorners Part 1 – What are adorners - Nbd-Tech] | |||
* [http://www.nbdtech.com/Blog/archive/2010/06/28/wpf-adorners-part-2-ndash-placing-any-control-on-the.aspx WPF Adorners Part 2 – Placing any control on the adorner layer - Nbd-Tech] | |||
* [http://www.nbdtech.com/Blog/archive/2010/07/05/wpf-adorners-part-3-ndash-adorners-and-validation.aspx WPF Adorners Part 3 – Adorners and Validation - Nbd-Tech] | |||
* [http://www.nbdtech.com/Blog/archive/2010/07/12/wpf-adorners-part-4-ndash-simple-and-powerful-system-for.aspx WPF Adorners Part 4 – Simple and Powerful System for Using Adorners - Nbd-Tech] | |||
==Styling and Templating== | |||
* [http://msdn.microsoft.com/en-us/library/ms745683.aspx Styling and Templating] | |||
* [http://msdn.microsoft.com/en-us/library/aa970773.aspx Control Styles and Templates] | |||
==Shutting down the application== | ==Shutting down the application== |
Latest revision as of 08:39, 11 February 2018
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.