방법: 연결된 속성 등록
이 예에서는 연결된 속성을 등록하고 공용 접근자를 제공하여 XAML과 코드 모두에서 속성을 사용하는 방법을 보여줍니다. 연결된 속성은 XAML에서 정의한 구문 개념입니다. 대부분의 WPF 형식에 연결된 속성도 종속성 속성으로 구현됩니다. 모든 DependencyObject 유형에서 종속성 속성을 사용할 수 있습니다.
예제
다음 예제에서는 RegisterAttached 메서드를 사용하여 연결된 속성을 종속성 속성으로 등록하는 방법을 보여줍니다. 공급자 클래스에는 속성이 다른 클래스에 사용될 때 해당 클래스의 메타데이터를 재정의하지 않는 한 적용 가능한 속성에 대한 기본 메타데이터를 제공하는 옵션이 있습니다. 이 예제에서는 IsBubbleSource
속성의 기본값은 false
로 설정됩니다.
종속성 속성으로 등록되지 않은 경우를 포함하여 연결된 속성에 대한 공급자 클래스는 명명 규칙 Set
[AttachedPropertyName] 및 Get
[AttachedPropertyName]를 따르는 정적 get 및 set 접근자를 제공해야 합니다. 활성 XAML 판독기가 속성을 XAML에서 특성으로 인식하고 적절한 형식을 확인할 수 있도록 이러한 접근자가 필요합니다.
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);
}
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
참고 항목
.NET Desktop feedback
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기