ValueSource Structure


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Reports the information returned from DependencyPropertyHelper.GetValueSource.

Namespace:   System.Windows
Assembly:  PresentationFramework (in PresentationFramework.dll)

public struct ValueSource


Gets a value of the BaseValueSource enumeration, which reports the source that provided the dependency property system with a value.


Gets a value that declares whether the property is being animated.


Gets a value that declares whether this value resulted from a CoerceValueCallback implementation applied to a dependency property.


Gets whether the value was set by the SetCurrentValue method.


Gets a value that declares whether this value resulted from an evaluated expression. This might be a BindingExpression supporting a binding, or an internal expression such as those that support the DynamicResource Markup Extension.


Returns a value indicating whether this ValueSource is equal to a specified object.(Overrides ValueType.Equals(Object).)


Returns the hash code for this ValueSource.(Overrides ValueType.GetHashCode().)


Gets the Type of the current instance.(Inherited from Object.)


Returns the fully qualified type name of this instance.(Inherited from ValueType.)

System_CAPS_puboperatorSystem_CAPS_staticEquality(ValueSource, ValueSource)

Determines whether two ValueSource instances have the same value.

System_CAPS_puboperatorSystem_CAPS_staticInequality(ValueSource, ValueSource)

Determines whether two ValueSource instances do not have the same value.

Most of the information that ValueSource transmits is contained in the BaseValueSource property. This property contains an enumeration value that specifies exactly one aspect of the overall WPF property system that is responsible for the effective value of a dependency property.

Besides the base value, the other information that might be interesting about a dependency property value is whether the value is being animated, and whether the value involves an expression (such as a binding, or a dynamic resource reference). This information is reported by IsAnimated and IsExpression respectively. Also, if coercion is acting on a property value, the property retains a desired value, and the property value will attempt to reach that desired value if the constraints of the specific coercion are changed or lifted. A coerced property that is not at its desired value will report that IsCoerced is true.

.NET Framework
Available since 3.0

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top