DependencyObject.ReadLocalValue 方法

2013/12/13

返回依赖项属性的本地值(如果设置了本地值)。

Namespace:  System.Windows
程序集:  System.Windows(位于 System.Windows.dll 中)

声明
Public Function ReadLocalValue ( _
	dp As DependencyProperty _
) As Object

参数

dp
类型: System.Windows.DependencyProperty
要为其检索本地值的属性的 DependencyProperty 标识符。

返回值

类型: System.Object
返回本地值,或在未设置本地值的情况下返回 sentinel 值 UnsetValue

应针对依赖项属性的典型“get”操作使用 CLR 包装或 GetValue。对于未在本地设置值的各种情况,ReadLocalValue 不会返回有效值。

由动画、样式、模板、默认值或属性值继承设置的值不被视为本地值。但是,绑定和类似表达式在计算之后将被视为本地值。

如果未设置本地值,此方法将返回 UnsetValueUnsetValue 为此情况的 sentinel,不应被用作自定义依赖项属性值的返回值。

下面的示例使用 ReadLocalValue 检查现有本地值。如果有本地值,按照不返回 UnsetValue 的指示,会通过调用 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;
    }
}


Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

显示:
© 2014 Microsoft