내보내기(0) 인쇄
모두 확장
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

DependencyProperty.UnsetValue 필드

2013-12-13

속성이 있지만 속성 시스템에 의해 값이 설정되지 않았음을 나타내기 위해 속성 시스템에서 null 대신 사용하는 정적 값을 지정합니다.

Namespace:  System.Windows
어셈블리:  System.Windows(System.Windows.dll)

public static readonly Object UnsetValue

필드 값

형식: System.Object
설정되지 않은 값에 대한 센티널 값입니다.

UnsetValue는 속성 시스템에서 요청된 DependencyProperty 값을 확인할 수 없는 경우에 사용되는 센티널 값입니다. null은 유효한 속성 값뿐 아니라 유효하고 자주 사용되는 기본값일 수 있으므로 null 대신 UnsetValue가 사용됩니다. UnsetValueGetValue에서 반환되면 안 됩니다. DependencyObject의 종속성 속성에 대해 GetValue를 호출하면 다음 중 하나가 적용됩니다.

  • 종속성 속성에 기본값이 설정되고 이 값이 반환됩니다.

  • 속성 시스템에 의해 다른 값이 설정되어 기본값이 더 이상 사용되지 않습니다. 자세한 내용은 Windows Phone의 종속성 속성을 참조하세요.

요청된 속성이 로컬에서 설정되지 않은 경우 ReadLocalValueUnsetValue를 반환합니다.

중요중요:

UnsetValue에 기본값을 지정하여 종속성 속성을 등록하지 마세요. 이렇게 하면 속성 소비자에게 혼란을 주며 속성 시스템에 의도하지 않은 결과를 가져옵니다.

다음 예제에서는 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