다음을 통해 공유


방법: 연결된 속성 등록

이 예제에서는 Extensible Application Markup Language (XAML) 및 코드 모두에서 속성을 사용할 수 있도록 연결된 속성을 등록하고 public 접근자를 제공하는 방법을 보여 줍니다. 연결된 속성은 Extensible Application Markup Language (XAML)에서 정의하는 구문 개념입니다. WPF 형식에 사용되는 대부분의 연결된 속성은 종속성 속성으로도 구현됩니다. 모든 DependencyObject 형식에 종속성 속성을 사용할 수 있습니다.

예제

다음 예제에서는 RegisterAttached 메서드를 사용하여 연결된 속성을 종속성 속성으로 등록하는 방법을 보여 줍니다. 공급자 클래스는 클래스가 메타데이터를 재정의하지 않는 경우 다른 클래스에서 속성이 사용될 때 적용되는 속성의 기본 메타데이터를 제공할 수 있습니다. 이 예제에서는 IsBubbleSource 속성의 기본값이 false로 설정되어 있습니다.

연결된 속성(종속성 속성으로 등록되어 있지 않은 경우에도 해당)의 공급자 클래스는 Set[AttachedPropertyName] 및 Get[AttachedPropertyName] 명명 규칙에 따라 정적 get 및 set 접근자를 제공해야 합니다. 이 두 접근자는 실행 중인 XAML 판독기가 XAML의 특성으로 속성을 인식하고 적절한 형식을 확인하는 데 필요합니다. 

Public Shared ReadOnly IsBubbleSourceProperty As DependencyProperty = DependencyProperty.RegisterAttached("IsBubbleSource", GetType(Boolean), GetType(AquariumObject), New FrameworkPropertyMetadata(False, FrameworkPropertyMetadataOptions.AffectsRender))
Public Shared Sub SetIsBubbleSource(ByVal element As UIElement, ByVal value As Boolean)
    element.SetValue(IsBubbleSourceProperty, value)
End Sub
Public Shared Function GetIsBubbleSource(ByVal element As UIElement) As Boolean
    Return CType(element.GetValue(IsBubbleSourceProperty), Boolean)
End Function
public static readonly DependencyProperty IsBubbleSourceProperty = DependencyProperty.RegisterAttached(
  "IsBubbleSource",
  typeof(Boolean),
  typeof(AquariumObject),
  new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)
);
public static void SetIsBubbleSource(UIElement element, Boolean value)
{
  element.SetValue(IsBubbleSourceProperty, value);
}
public static Boolean GetIsBubbleSource(UIElement element)
{
  return (Boolean)element.GetValue(IsBubbleSourceProperty);
}

참고 항목

참조

DependencyProperty

개념

종속성 속성 개요

사용자 지정 종속성 속성

기타 리소스

속성 방법 항목