DependencyProperty Class

종속성 속성 시스템에 등록된 종속성 속성을 나타냅니다. 종속성 속성은 값 식, 데이터 바인딩, 애니메이션 및 속성 변경 알림을 지원합니다.DependencyProperty 값이 종속성 속성의 식별자로 사용되는 방식에 대한 자세한 내용은 종속성 속성 개요를 참조하십시오.

상속

Object
  DependencyProperty

구문


public sealed class DependencyProperty


See Remarks

특성

[MarshalingBehavior(Agile)]
[Threading(Both)]
[Version(0x06020000)]
[WebHostHidden()]

멤버

DependencyProperty클래스에는 다음과 같은 형식의 멤버가 있습니다.

메서드

The DependencyProperty 클래스 - 이러한 메서드가 있습니다. 다음 위치의 메서드도 상속합니다. Object 클래스.

메서드Description
GetMetadata Retrieves the property metadata value for the dependency property as registered to a type. You specify the type you want info from as a type reference.
Register Registers a dependency property with the specified property name, property type, owner type, and property metadata for the property.
RegisterAttached Registers an attached dependency property with the specified property name, property type, owner type, and property metadata for the property.

 

속성

DependencyProperty클래스 - 이러한 속성이 있습니다.

속성사용 권한Description

UnsetValue

읽기 전용Specifies a static value that is used by the property system rather than null to indicate that the property exists, but does not have its value set by the property system or by any app code.

 

설명

종속성 속성 개념은 종속성 속성 개요 항목에서 자세히 설명합니다.

DependencyProperty의 인스턴스는 설명서에서 종속성 속성 식별자로 참조되는 경우가 많습니다. 식별자는 특정 DependencyObject 소유자 형식에 등록된 종속성 속성을 참조하는 한 가지 방법을 제공합니다. 소유자 유형이 속성을 등록하면 소유자 유형에서 DependencyProperty 인스턴스를 식별자로 노출합니다. 이 인스턴스는 소유자 클래스의 정적 멤버입니다.

소유자 DependencyObject는 종속성 속성에 대한 속성 저장소를 제공합니다. 코드에서 종속성 속성으로 작업할 때 DependencyProperty 식별자를 SetValue 등의 속성 시스템 메서드 호출에 대한 입력으로 사용할 수도 있습니다. 하지만 대부분의 경우 종속성 속성을 가져오거나 설정하는 것은 래퍼를 가져오거나 설정하는 것보다 간단합니다. 이 개념은 종속성 속성 개요에 설명되어 있습니다.

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

참고  이름으로 속성을 지정할 때도 사용할 수 있고 특정 데이터 및 애니메이션 API에 필요한 관련 구문은 속성 경로 구문입니다. 속성 경로는 속성 및 해당 속성 값이 있는 클래스의 구조를 참조하는 데 사용할 수 있습니다. 자세한 내용은 PropertyPath 구문을 참조하십시오.

Windows 런타임은 DependencyObjectDependencyProperty 식별자와 속성 저장소를 사용하여 XAML 연결된 속성 언어 기능을 구현합니다. 자세한 내용은 연결된 속성 개요를 참조하십시오.

사용자 지정 종속성 속성

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

  • Register 메서드를 사용하여 종속성 속성을 등록합니다. 이 메서드는 DependencyProperty를 반환합니다. 이는 종속성 속성 식별자입니다. 이 개체를 클래스의 액세스 가능한 정적 읽기 전용 속성으로 노출해야 합니다. 규칙에 따라 이 DependencyProperty 식별자 필드의 이름은 "Property"로 끝나야 합니다.
  • 등록할 때 속성의 PropertyMetadata를 제공하여 속성의 동작을 추가로 정의할 수 있습니다.
  • 속성에 getset 접근자를 제공합니다. 이는 속성 래퍼이며 모든 호출자에 대한 사용자 속성에 간단히 액세스할 수 있도록 합니다.

종속성 속성 이름에 대한 XAML 참조

일반적으로 XAML 태그에 설정되는 일부 속성에서는 DependencyProperty를 해당 값으로 사용합니다. 예를 들어 XAML에서 Setter.Property를 설정합니다. XAML에서 이 요소를 설정하려면 특성 값으로 종속성 속성의 이름을 지정해야 합니다.

Setter.Property의 경우 Setter가 있는 StyleTargetType에 의해 종속성 속성 이름을 참조하는 유형의 범위가 이미 지정되어 있습니다. TargetType 개체의 종속성 속성의 경우 간단한 이름의 종속성 속성을 사용하여 Setter.Property 값을 지정할 수 있습니다. 예를 들어 Style의 대상이 Slider인 경우 Orientation 속성의 스타일을 지정하려면 Property 특성 값이 "Orientation"이기만 해도 됩니다. 단순한 이름은 종속성 속성을 대상 형식의 하위 상속에 있는 클래스에서 가져오기만 하면 작동합니다. 예를 들어 Slider에 대한 Style에서 Visibility 속성의 스타일을 지정하려면 "Visibility"의 Property 특성 값을 사용하면 됩니다. 이 경우 VisibilityUIElement에서 정의되었지만 Slider에 상속됩니다.

Setter.Property를 사용하여 연결된 속성 이름을 참조할 수도 있습니다. 특성 값의 경우 연결된 속성을 XAML의 특성으로 사용하는 것과 마찬가지로 AttachedPropertyOwner.AttachedPropertyName 형식을 사용하십시오. 예를 들어 <Setter Property="AutomationProperties.ItemType" Value="Navigation Button"/>Style의 연결된 속성 AutomationProperties.ItemType을 설정하는 Setter입니다.

참고  종속성 속성의 이름은 DependencyProperty 정적 속성 식별자의 이름이 아닙니다. 속성을 등록할 때 사용된 이름 문자열과 Microsoft IntelliSense 및 참조 문서에서 노출될 때 일반적으로 사용되는 Windows 런타임 프로그래밍의 속성 이름입니다. 즉, XAML에서 Setter.Property에 지정하는 문자열은 "Property"로 끝나지 않아야 합니다(종속성 속성이 실제로 "Property"를 접미사로 포함하는 드문 경우는 제외).

코드에서 DependencyProperty(종속성 속성 식별자) 사용

입력 매개 변수로 DependencyProperty 값을 사용하는 Windows 런타임 속성 시스템의 유틸리티 메서드인 여러 메서드가 있습니다. 여기에는 다음이 포함됩니다.

예제

이 예제에서는 DependencyProperty가 클래스의 공용 정적 멤버로 설정되는 기본 사용법을 보여 줍니다. 이는 Register를 호출하고 반환 값을 클래스의 멤버로 저장하여 수행됩니다. 추가 예제를 보려면 사용자 지정 종속성 속성을 참조하십시오.


public class Fish : Control
{
    public static readonly DependencyProperty SpeciesProperty =
    DependencyProperty.Register(
    "Species",
    typeof(String),
    typeof(Fish), null
    );
    public string Species
    {
        get { return (string)GetValue(SpeciesProperty); }
        set { SetValue(SpeciesProperty, (string)value); }
    }
}


요구 사항

지원되는 최소 클라이언트

Windows 8 [Windows 스토어 앱만]

지원되는 최소 서버

Windows Server 2012 [Windows 스토어 앱만]

Namespace

Windows.UI.Xaml
Windows::UI::Xaml [C++]

Metadata

Windows.winmd

참고 항목

사용자 지정 종속성 속성
종속성 속성 개요
사용자 지정 연결된 속성
XAML 사용자 및 사용자 지정 컨트롤 샘플

 

 

표시:
© 2015 Microsoft