Export (0) Print
Expand All

DependencyObject.ReadLocalValue Method

Returns the local value of a dependency property, if a local value is set.

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

public Object ReadLocalValue(
	DependencyProperty dp
)

Parameters

dp
Type: System.Windows.DependencyProperty
The DependencyProperty identifier of the property to retrieve the local value for.

Return Value

Type: System.Object
Returns the local value, or returns the sentinel value UnsetValue if no local value is set.

You should use the CLR wrappers, or GetValue, for most typical "get" operations for a dependency property. ReadLocalValue does not return the effective value for a variety of circumstances where the value was not locally set.

Values that are set by animations, styles, templates, default value, or property value inheritance are not considered to be local values. However, bindings and similar expressions are considered to be local values, after they have been evaluated.

When no local value is set, this method returns UnsetValue. The UnsetValue is a sentinel for this case and should not be used as a return value of custom dependency property values.

The following example checks for an existing local value with ReadLocalValue. If there is a local value, as indicated by not returning UnsetValue, then the existing local value is removed by calling ClearValue.


public static bool ClearSetProperty(DependencyObject targetObject, DependencyProperty targetDP)
{
    if (targetObject == null || targetDP == null)
    {
        throw new ArgumentNullException();
    }
    object localValue = targetObject.ReadLocalValue(targetDP);
    if (localValue == DependencyProperty.UnsetValue)
    {
        return false;
    }
    else
    {
        targetObject.ClearValue(targetDP);
        return true;
    }
}


Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions

ADD
Show:
© 2014 Microsoft