|
|
|
|
|
Home
»
WPF
»
WPF Binding Cheat Sheet
|
|
|
Author Rank:
|
|
Total page views :
3542
|
|
Total downloads :
|
|
|
|
|
|
|
Similar ArticlesMost ReadTop RatedLatest
|
|
|
|
|
|
|
|
|
|
Introduction
This is an article on WPF Binding Cheat Sheet. Some of the Binding won't work for Silverlight 3.
|
Basic Binding |
| {Binding} |
Bind to current DataContext. |
| {Binding Name} |
Bind to the "Name" proeprty of the current DataContext. |
| {Bindind Name.Length} |
Bind to the Length property of the object in the Name property of the current DataContext |
| {Binding ElementName=SomeTextBox, Path=Text} |
Bind to the "Text" property of the element XAML element with name="SomeTextBox" or x:Name="SomeTextBox". |
|
XML Binding |
| {Binding Source={StaticResource BooksData} XPath=/books/book} |
Bind the result of XPath query "/books/book" from the XML in the XmlDataProvider in a parent's "Resources" elememt with x:Key="BooksData". |
| {Binding XPath=@name} |
Bind to the result of an XPath query run on the XML node in the DataContext (for example in an ItemControl's DataTemplate when the ItemsControl.ItemsSource is bound to an XML data source). |
|
Relative Source Binding |
| {Binding RelativeSource={RelativeSource Self}} |
Bind to the target element. |
| {Binding RelativeSource={RelativeSource Self}, Path=Name} |
Bind to the "Name" property of the target element. |
| {Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}, Path=Title} |
Bind to the title of the parent window. |
| {Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ItemsControl}, AncestorLevel=2}, Path=Name} |
Bind the the name of the 2nd parent of type ItemsControl. |
| {Binding RelativeSource={RelativeSource TemplatedParent}, Path=Name} |
Inside a control template, bind to the name property of the element the template is applied to. |
| {TemplateBinding Name} |
Shortcut for the previous example. |
|
Collection Current Item Binding |
| {Binding /} |
Bind to the current item in the DataContext (when DataContext is a collection) |
| {Binding AllItems/} |
Bind to the current item in the "AllItems" property of the DataContext |
| {Binding AllItems/Name} |
Bind to the "Name" property of the current item in the "AllItems" property of the DataContext | Alphabetical list of all Binding's properties
| Property |
Description |
| BindingGroupName (3.5sp1) |
The name of the BindingGroup to which this binding belongs. A BindingGroup is used to validate multiple bindings together (for example when multiple changes should be submitted all at once). |
| BindsDirectlyToSource |
When using a DataSourceProvider derived class (for example a ObjectDataProvider) setting this property to true will bind to the data source provider object itself, leaving it false will bind to the data contained in the data source. |
| Converter |
The converter to use, usually you create the converter in a parent element's Resources element and reference it using a {StaticResource name) or create the converter as a static field and reference it with {x:Static ns:class.field} |
| ConverterCulture |
The culture passed to the converter. |
| ConverterParameter |
The parameter passed to the converter |
| ElementName |
Element name, when binding to an element in the same XAML scope. Can't be used if RelativeSource or Source is set. |
| FallbackValue |
Value to use when the Binding encounters an error |
| IsAsync |
Use when the property's get accessor takes a long time, to avoid blocking the UI thread, While waiting for the value to arrive, the binding reports the FallbackValue. |
| Mode |
Direction of binding, possible options:
- TwoWay - updates the target property or the source property whenever the other one changes.
- OneWay - updates the target property only when the source property changes.
- OneTime - updates the target property only when the application starts or when the DataContext undergoes a change.
- OneWayToSource - updates the source property when the target property changes, useful the target property is not a dependency property – put the binding on what would normally be the source and point it to the target.
- Default - causes the default Mode value of target property to be used
|
| NotifyOnSourceUpdated |
Raise the SourceUpdated event when a value is transferred from the binding target to the binding source. |
| NotifyOnTargetUpdated |
Raise the TargetUpdated event when a value is transferred from the binding source to the binding target. |
| NotifyOnValidationError |
Raise the Error attached event on the bound object. |
| Path |
Source property. |
| RelativeSource |
Binding source relative to the target, possible options:
- {x:Static RelativeSource.Self} or {RelativeSource Self} bind to target element.
- {RelativeSource FindAncestor, AncestorType={x:Type TypeName}} Bind to the first parent of type TypeName
- {RelativeSource FindAncestor, AncestorType={x:Type TypeName}, AnsestorLevel=n} Bind to the nth parent of type TypeName
- {RelativeSource TemplatedParent} bind to the element this template is applied to (useful in control templates, considerusing TemplateBinding instead. Can't be used if ElementName or Source is set.
|
| Source |
Object to use as the binding source. Can't be used if ElementName or RelativeSource is set. |
| StringFormat (3.5sp1) |
Format string to use when converting the bound value to a string. Works only if the target property is of type string. |
| TargetNullValue (3.5sp1) |
Value to use when the bound value is null. |
| UpdateSourceExceptionFilter |
Custom logic for handling exceptions that the binding engine encounters. Only if you add an ExceptionValidationRule to ValidationRules or set ValidatesOnExceptions |
| UpdateSourceTrigger |
Timing of binding source updates, possible options:
- Default - The default UpdateSourceTrigger value of the binding target property. The default is usually PropertyChanged, while the Text property is LostFocus.
- PropertyChanged - Updates the binding source immediately whenever the binding target property changes.
- LostFocus - Updates the binding source whenever the binding target element loses focus.
- Explicit - Updates the binding source only when you call the UpdateSource method.
|
| ValidatesOnDataErrors (3.5sp1) |
Use IDataErrorInfo when validating. |
| ValidatesOnExceptions (3.5sp1) |
Treat exceptions as validation failures. |
| ValidationRules |
Collection of rules that check the validity of the user input. |
| XPath |
XPath query that returns the value on the XML binding source to use. Top |
|
|
|
Login
to add your contents and source code to this article
|
|
|
|
|
|
|
|
|
|
Diptimaya Patra
Diptimaya is working as a Software Engineer in UST Global Inc, Trivandrum Center. He is interested in Microsoft Technologies. He is a good learner. He has a large exposure on Microsoft Office SharePoint Services 2007, Windows SharePoint Services, Silverlight 2, Silverlight 3, Blend 2, Blend 3, WPF, WCF, ASP.NET, AJAX, and NHibernate.
He is a native of Cuttack, Orissa.
Reach him at diptimaya.patra@gmail.com
|
|
|
|
|
|
|
|
|
C# Consulting is founded in 2002 by the founders of C# Corner. Unlike a traditional
consulting company, our consultants are well-known experts in .NET and many of them
are MVPs, authors, and trainers. We specialize in Microsoft .NET development and
utilize Agile Development and Extreme Programming practices to provide fast pace
quick turnaround results. Our software development model is a mix of Agile Development,
traditional SDLC, and Waterfall models.
|
|
Click here to learn more about C# Consulting. |
|
|
|
|
|
|
|
Introducing MaxV - one click. infinite control. Hyper-V Hosting from MaximumASP.
Finally – a virtual platform that delivers next-generation Windows Server 2008 Hyper-V virtualization technology from a managed hosting partner you can truly depend on. Visit www.maximumasp.com/max for a FREE 30 day trial. Hurry offer ends soon.
Climb aboard the MaxV platform and take advantage of High Availability, Intelligent Monitoring, Recurrent Backups, and Scalability – with no hassle or hidden fees.
As a managed hosting partner focused solely on Microsoft technologies since 2000, MaximumASP is uniquely qualified to provide the superior support that our business is built on. Unparalleled expertise with Microsoft technologies lead to working directly with Microsoft as first to offer IIS 7 and SQL 2008 betas in a hosted environment; partnering in the Go Live Program for Hyper-V; and product co-launches built on WS 2008 with Hyper-V technology.
|
Dynamic PDF
ceTE software specializes in components for dynamic PDF generation and manipulation. The DynamicPDF™ product line allows you to dynamically generate PDF documents, merge PDF documents and new content to existing PDF documents from within your applications.
|
Go.NET
Build custom interactive diagrams, network, workflow editors, flowcharts, or software design tools. Includes many predefined kinds of nodes, links, and basic shapes. Supports layers, scrolling, zooming, selection, drag-and-drop, clipboard, in-place editing, tooltips, grids, printing, overview window, palette. 100% implemented in C# as a managed .NET Control. Document/View/Tool architecture with many properties&events. Optional automatic layout.
|
Dundas Software
Dundas Chart for .NET is the most advanced .NET charting package available today. With an extremely complete feature set, elegant architecture and easy implementation, Dundas Chart can quickly add advanced Charting functionality to enhance and transform ASP.NET and Windows Forms applications. Whether you are implementing charting into internal projects, or building applications for clients, Dundas Chart offers advanced technology and advanced results to get the most out of data.
|
Clickatell's SMS Gateway
Clickatell's Developer Solutions allow you to SMS enable any website or
application via a range of API's. Learn More about our API connections.
|
Microsoft Visual Studio 2010 Professional
Microsoft Visual Studio 2010 Professional will launch on April 12, but you can beat the rush and secure your copy today by pre-ordering at the affordable estimated retail price of $549 (US). Pre-order now.
|
Nevron Chart for .NET 2010.1 Now Available
The leading .NET charting control now features PDF, Flash and Silverlight export, visualization of large datasets and more. Deliver true charting functionality to your BI, Scorecard, Presentation or Scientific apps. Download evaluation now.
|
Developer-Ready ASP.NET 2.0 Web Hosting with 3 MONTHS FREE
Now supporting .NET 3.0 Framework with Windows Workflow Foundation, Windows Communication Foundation (WCF), Windows Presentation Foundation (WPF), windows CardSpace (WCS)! Providing more flexibility for Developers with Web Services Support and a User/Permission Manger. Also supporting MS SQL 2005/2000 with Real-Time Backups, FREE Automated Attach .MDF Tool, FREE SQL Restore and Shrink SQL DB Tools, and SQL
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|