ContentPropertyAttribute 클래스

정의

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

public ref class ContentPropertyAttribute sealed : Attribute
/// [Windows.Foundation.Metadata.AttributeUsage(System.AttributeTargets.RuntimeClass)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
class ContentPropertyAttribute final : Attribute
/// [Windows.Foundation.Metadata.AttributeUsage(System.AttributeTargets.RuntimeClass)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.AttributeName("contentproperty")]
class ContentPropertyAttribute final : Attribute
[Windows.Foundation.Metadata.AttributeUsage(System.AttributeTargets.RuntimeClass)]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public sealed class ContentPropertyAttribute : Attribute
[Windows.Foundation.Metadata.AttributeUsage(System.AttributeTargets.RuntimeClass)]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.AttributeName("contentproperty")]
public sealed class ContentPropertyAttribute : Attribute
Public NotInheritable Class ContentPropertyAttribute
Inherits Attribute
상속
ContentPropertyAttribute
특성

Windows 요구 사항

디바이스 패밀리
Windows 10 (10.0.10240.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)

설명

C++/WinRT. [contentproperty] 특성을 참조하세요.

이 특성은 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 파서로 구문 분석할 때 파서는 Panel에 적용된 ContentPropertyAttribute를 통해 StackPanel 태그의 본문에 있는 모든 콘텐츠를 사용하여 만든 StackPanel instance Children 값을 설정해야 한다는 것을 알고 있습니다.

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

생성자

ContentPropertyAttribute()

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

필드

Name

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

적용 대상

추가 정보