Share via


방법: 종속성 속성 구현

업데이트: 2007년 11월

이 예제에서는 DependencyProperty 필드로 CLR(공용 언어 런타임) 속성을 지원하여 종속성 속성을 정의하는 방법을 보여 줍니다. 사용자 고유의 속성을 정의하고 이 속성이 스타일, 데이터 바인딩, 상속, 애니메이션 및 기본값을 포함하여 WPF(Windows Presentation Foundation) 기능의 여러 측면을 지원하도록 하려면 해당 속성을 종속성 속성으로 구현해야 합니다.

예제

다음 예제에서는 먼저 Register 메서드를 호출하여 종속성 속성을 등록합니다. 종속성 속성의 이름과 특성을 저장하는 데 사용하는 식별자 필드의 이름은 Register 호출의 일부로 종속성 속성에 대해 선택한 Name에 리터럴 문자열 Property를 추가한 이름이어야 합니다. 예를 들어 종속성 속성을 Location의 Name에 등록한 경우 종속성 속성에 대해 정의하는 식별자 필드 이름은 LocationProperty여야 합니다.

이 예제에서 종속성 속성 및 CLR 접근자의 이름은 State이고, 식별자 필드는 StateProperty이고, 속성의 유형은 Boolean이며, 종속성 속성을 등록하는 유형은 MyStateControl입니다.

이 이름 지정 패턴을 준수하지 않으면 디자이너가 속성을 올바르게 보고하지 않거나 속성 시스템 스타일 응용 프로그램의 특정 측면이 예상대로 동작하지 않을 수 있습니다.

종속성 속성에 대한 기본 메타데이터를 지정할 수도 있습니다. 이 예제에서는 State 종속성 속성의 기본값을 false로 등록합니다.

public class MyStateControl : ButtonBase
{
  public MyStateControl() : base() { }
  public Boolean State
  {
    get { return (Boolean)this.GetValue(StateProperty); }
    set { this.SetValue(StateProperty, value); } 
  }
  public static readonly DependencyProperty StateProperty = DependencyProperty.Register(
    "State", typeof(Boolean), typeof(MyStateControl),new PropertyMetadata(false));
}

전체 샘플을 보려면 종속성 속성이 있는 사용자 지정 클래스 샘플을 참조하십시오.

CLR 속성을 전용 필드로 지원하는 대신 종속성 속성을 구현하는 방법과 이유에 대한 자세한 내용은 종속성 속성 개요를 참조하십시오.

참고 항목

개념

종속성 속성 개요

기타 리소스

속성 방법 항목

속성 샘플