What is a dependency property in .Net (especially in WPF context). What is the difference from the regular property?
What is a dependency property in .Net (especially in WPF context). What is the difference from the regular property?
Dependency properties are properties of classes that derive from DependencyObject, and they're special in that rather than simply using a backing field to store their value, they use some helper methods on DependencyObject.
The nicest thing about them is that they have all the plumbing for data binding built in. If you bind something to them, they'll notify it when they change.
http://techpunch.wordpress.com/2008/09/25/wpf-wf-what-is-a-dependency-property/ provides a good explanation of dependency properties both in the context of WF and WPF.
An excerpt:
Key Point – The Value of Dependency Properties Are Resolved
The ultimate goal of a dependency property, like any property, is to manage state. But unlike normal .Net properties, the local property value is not stored in an instance variable.
Instead, dependency properties are registered with the dependency property framework, and the underlying property value is resolved – meaning the value is determined by the dependency property framework based on rules defined by the property registration.