DependencyProperty 클래스

2013-12-13

Windows Phone 종속성 속성 시스템에 등록된 종속성 속성을 나타냅니다. 종속성 속성은 값 식, 데이터 바인딩, 애니메이션 및 속성 변경 알림을 지원합니다.

System.Object
  System.Windows.DependencyProperty

Namespace:  System.Windows
어셈블리:  System.Windows(System.Windows.dll)
XMLNS for XAML: xmlns에 매핑되지 않습니다.

public class DependencyProperty
<object property="dependencyPropertyName"/>
- or -
<object property="ownerTypeName.dependencyPropertyName"/>
- or -
<object property="attachedPropertyOwnerTypeName.attachedPropertyName"/>

XAML 값

dependencyPropertyName

원하는 종속성 속성의 등록된 이름을 지정하는 문자열입니다. 속성이 기본 XAML 네임스페이스에 속하지 않으면 이 문자열 앞에 XAML 네임스페이스 접두사가 추가될 수 있습니다.

ownerTypeName.dependencyPropertyName

종속성 속성, 점(.) 및 속성 이름으로 구성된 소유자 형식을 지정하는 문자열입니다. ownerType 앞에는 XML 네임스페이스 접두사가 올 수 있습니다. 이 방법은 런타임에 바인딩된 스타일 및 템플릿에만 사용되며, 이러한 경우 TargetType을 알 수 없으므로 종속성 속성의 소유자를 구문 분석 컨텍스트로 지정해야 합니다.

attachedPropertyOwnerTypeName.attachedPropertyName

연결된 속성, 점(.), 부착된 속성 이름의 소유자를 지정하는 문자열입니다. attachedPropertyOwnerTypeName 앞에 XAML 네임스페이스 접두사가 올 수도 있습니다.

XAML 네임스페이스 매핑이 필요하지 않은 경우에는 접미사 Property를 빼고 종속성 속성 식별자 필드의 이름을 사용하면 위의 구문을 보다 쉽게 기억할 수 있습니다.

DependencyProperty 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 메서드Equals(Object)지정한 Object가 현재 Object와 같은지 확인합니다. (Object에서 상속됨)
Protected 메서드Finalize가비지 수집기에서 Object를 회수하기 전에 개체가 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드GetHashCode특정 형식에 대한 해시 함수 역할을 합니다. (Object에서 상속됨)
Public 메서드GetMetadata지정한 Type에 등록된 종속성 속성의 속성 메타데이터 값을 검색합니다.
Public 메서드GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Protected 메서드MemberwiseClone현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Public 메서드정적 멤버Register속성에 대해 지정된 속성 이름, 속성 형식, 소유자 유형 및 속성 메타데이터를 사용하여 종속성 속성을 등록합니다.
Public 메서드정적 멤버RegisterAttached속성에 대해 지정된 속성 이름, 속성 형식, 소유자 유형 및 속성 메타데이터를 사용하여 연결된 종속성 속성을 등록합니다.
Public 메서드ToString현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨)
맨 위

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

종속성 속성의 개념에 대한 자세한 내용은 Windows Phone의 종속성 속성를 참조하세요.

DependencyProperty 인스턴스는 설명서에서 종속성 속성 식별자로 참조되는 경우가 많습니다. 식별자를 통해 특정 DependencyObject 소유자 형식에 등록된 종속성 속성을 참조할 수 있습니다. 소유자 형식은 속성을 등록할 때 DependencyProperty 인스턴스를 식별자로 노출합니다. 소유자 DependencyObject는 Windows Phone 속성 시스템에 참가할 때 종속성 속성에 대한 속성 저장소를 제공합니다.

코드에서 종속성 속성으로 작업할 때 DependencyProperty 식별자를 SetValue 등의 속성 시스템 메서드 호출에 대한 입력으로 사용할 수도 있습니다. 그러나 일반적으로 XAML 사용법 및 CLR 형식 시스템에 종속성 속성을 노출하는 "래퍼" CLR 속성을 가져오거나 설정하면 더 간단하게 종속성 속성을 가져오거나 설정할 수 있습니다. 자세한 내용은 Windows Phone의 종속성 속성의 "종속성 속성에서 CLR 속성 지원" 섹션을 참조하세요.

DependencyProperty는 값을 채울 수 있도록 XAML 특성 구문에 대해 네이티브 변환을 지원하며 이는 Setter가 해당 Property 값을 지정할 때 사용됩니다. 이 변환에서는 입력 문자열에 대해 ownerTypeName.propertyName 형식을 사용합니다.

이름으로 속성을 지정할 때도 사용할 수 있고 특정 데이터 및 애니메이션 API에 필요한 관련 형식은 PropertyPath입니다. PropertyPath를 사용하여 모든 CLR 속성을 참조할 수 있습니다. 해당 속성은 종속성 속성일 수도 있지만 종속성 속성이 아니어도 됩니다. PropertyPath는 XAML에서 지정할 수 있으며 개체 계층 구조 내에서 속성을 지정할 때 사용할 수 있습니다.

Windows Phone 속성 시스템에서는 DependencyObject의 속성 저장소 및 DependencyProperty 식별자를 사용하여 XAML 연결된 속성 언어 기능에 대한 해당 구현을 지원합니다.

사용자 지정 종속성 속성

사용자 지정 형식의 속성에서 값 식, 데이터 바인딩 또는 애니메이션을 지원하도록 하려면 다음 지침에 따라 종속성 속성으로 이러한 CLR 속성을 지원해야 합니다.

  1. Register 메서드를 사용하여 종속성 속성을 등록합니다. 이 메서드는 DependencyProperty를 반환합니다. 클래스에 액세스 가능한 정적 읽기 전용 필드로 저장해야 합니다. 규칙에 따라 이 DependencyProperty 식별자 필드 이름은 Property로 끝나야 합니다.

  2. 등록할 때 속성의 PropertyMetadata를 제공하여 속성의 동작을 추가로 정의할 수 있습니다.

  3. 속성의 CLR getset 접근자를 제공합니다.

다음 예제에서는 DependencyProperty가 클래스의 공용 정적 멤버로 설정되는 기본 사용법을 보여 줍니다. 이 작업을 수행하려면 Register를 호출하고 반환 값을 저장합니다.


public static readonly DependencyProperty IsSpinningProperty = 
    DependencyProperty.Register(
    "IsSpinning", typeof(Boolean),
    typeof(SilverlightExampleClass), null
    );
public bool IsSpinning
{
    get { return (bool)GetValue(IsSpinningProperty); }
    set { SetValue(IsSpinningProperty, value); }
}


Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 모든 인스턴스 멤버는 스레드로부터 안전하지 않을 수 있습니다.

표시:
© 2014 Microsoft