다음을 통해 공유


ContentPropertyAttribute 클래스

정의

XAML 콘텐츠 속성인 형식의 속성을 나타냅니다. XAML 프로세서는 특성 형식 XAML 표현의 XAML 자식 요소를 처리할 때 이 정보를 사용합니다.

public ref class ContentPropertyAttribute sealed : Attribute
[Windows.Foundation.Metadata.AttributeUsage(System.AttributeTargets.RuntimeClass)]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
public sealed class ContentPropertyAttribute : Attribute
Public NotInheritable Class ContentPropertyAttribute
Inherits Attribute
상속
ContentPropertyAttribute
특성

설명

이 특성은 XAML 파서 및 기타 XAML 프레임워크 코드에서 해석할 때 특성 형식의 특정 속성을 XAML 콘텐츠 속성으로 간주해야 한다는 것을 식별하는 데 사용됩니다. XAML 콘텐츠 속성의 목적은 해당 속성에 대한 속성 요소 태그를 생략할 수 있는 XAML 구문 약식이 제공된다는 것입니다. 속성 요소를 제거하면 XAML 태그에서 보다 자연스러운 부모-자식 형식을 쉽게 만들 수 있습니다. XAML 콘텐츠 속성에 대한 자세한 내용은 XAML 구문 가이드의 "XAML 콘텐츠 속성" 섹션을 참조하세요.

ContentPropertyAttribute가 적용된 기본 Windows 런타임 XAML 어휘의 클래스 예제는 Panel입니다. PanelChildren 속성은 ContentPropertyAttribute 및 Name 값에 정의된 XAML 콘텐츠 속성으로 식별됩니다. 콘텐츠 속성 정보는 Grid, CanvasStackPanel과 같은 모든 파생된 유형의 패널에서 상속됩니다.

이 코드는 Panel 이 C#에서 ContentPropertyAttribute를 적용하는 방법에 대해 대략적인 설명입니다(실제 정의는 네이티브 코드에 적용되며 이는 그림에만 적용됨).

[ContentProperty(Name = "Children")]
    public class Panel : FrameworkElement
    { ...}

XAML 콘텐츠 속성 개념의 그림으로 Panel 및 파생 클래스 StackPanel을 사용하면 다음과 같은 XAML이 있을 수 있습니다.

<StackPanel>
  <StackPanel.Children>
    <TextBlock>Testing content attribute</TextBlock>
  </StackPanel.Children>
</StackPanel>

위의 내용은 더 읽기 쉬운 이 XAML과 동일합니다.

<StackPanel>
  <TextBlock>Testing content attribute</TextBlock>
</StackPanel>

XAML 파서로 구문 분석할 때 파서는 패널에 적용된 ContentPropertyAttribute를 통해 StackPanel 태그의 본문 내에 있는 모든 콘텐츠를 사용하여 만든 StackPanel instance Children 값을 설정해야 한다는 것을 알고 있습니다.

동작 중인 ContentPropertyAttribute의 또 다른 눈에 띄는 예는 TextBlock 클래스에서 볼 수 있습니다. TextBlock은 인라인을 콘텐츠 속성으로 사용하고 기본 인라인 클래스 RunText를 콘텐츠 속성으로 사용합니다. 이 XAML에서 만든 개체 그래프가 더 복잡하고 원하는 경우 여러 명시적 인라인 요소를 지원할 수 있더라도 콘텐츠 속성은 와 같은 <TextBlock>Hello</TextBlock>간단한 인라인 구문을 사용하도록 설정합니다.

생성자

ContentPropertyAttribute()

ContentPropertyAttribute 클래스의 새 instance 초기화합니다.

필드

Name

XAML 콘텐츠 속성인 형식의 속성을 나타냅니다. XAML 프로세서는 특성 형식 XAML 표현의 XAML 자식 요소를 처리할 때 이 정보를 사용합니다.

적용 대상

추가 정보