ContentPropertyAttribute 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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입니다. Panel의 Children 속성은 ContentPropertyAttribute 및 Name 값에 정의된 XAML 콘텐츠 속성으로 식별됩니다. 콘텐츠 속성 정보는 Grid, Canvas 및 StackPanel과 같은 모든 파생된 유형의 패널에서 상속됩니다.
이 코드는 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은 인라인을 콘텐츠 속성으로 사용하고 기본 인라인 클래스 Run은 Text를 콘텐츠 속성으로 사용합니다. 이 XAML에서 만든 개체 그래프가 더 복잡하고 원하는 경우 여러 명시적 인라인 요소를 지원할 수 있더라도 콘텐츠 속성은 와 같은 <TextBlock>Hello</TextBlock>
간단한 인라인 구문을 사용하도록 설정합니다.
생성자
ContentPropertyAttribute() |
ContentPropertyAttribute 클래스의 새 instance 초기화합니다. |
필드
Name |
XAML 콘텐츠 속성인 형식의 속성을 나타냅니다. XAML 프로세서는 특성 형식 XAML 표현의 XAML 자식 요소를 처리할 때 이 정보를 사용합니다. |