다음을 통해 공유


인라인 스타일 및 템플릿

WPF(Windows Presentation Foundation)는 리소스에서 요소의 시각적 모양을 정의하여 여러 번 사용할 수 있도록 Style 개체 및 템플릿 개체(FrameworkTemplate 서브클래스)를 제공합니다. 이러한 이유로 StyleFrameworkTemplate 형식을 사용하는 XAML의 속성은 거의 항상 새로운 스타일 및 템플릿을 인라인으로 정의하는 대신 기존 스타일 및 템플릿에 대한 리소스를 참조합니다.

인라인 스타일 및 템플릿의 제한 사항

XAML(Extensible Application Markup Language)에서 스타일 및 템플릿 속성은 기술적으로 두 가지 방법 중 하나로 설정할 수 있습니다. 특성 구문을 사용하여 리소스 내에 정의된 스타일(예: <개체Style="{StaticResourcemyResourceKey}" .../>)을 참조할 수 있습니다. 또는 속성 요소 구문을 사용하여 스타일 인라인을 정의할 수 있습니다. 예를 들면 다음과 같습니다.

< 개체>

< 개체.Style>

< Style .../>

</ 개체.Style>

</ 개체>

특성 사용이 훨씬 더 일반적입니다. 인라인으로 정의되고 리소스에 정의되지 않은 스타일은 반드시 포함하는 요소로만 범위가 지정되며 리소스 키가 없으므로 쉽게 다시 사용할 수 없습니다. 일반적으로 리소스 정의 스타일은 더 다양하고 유용하며 코드의 프로그램 논리를 태그의 디자인과 분리하는 일반적인 WPF(Windows Presentation Foundation) 프로그래밍 모델 원칙에 더 부합합니다.

일반적으로 해당 위치에서 해당 스타일 또는 템플릿만 사용하려는 경우에도 스타일 또는 템플릿을 인라인으로 설정할 이유가 없습니다. 스타일 또는 템플릿을 사용할 수 있는 대부분의 요소는 콘텐츠 속성 및 콘텐츠 모델도 지원합니다. 스타일 지정이나 템플릿을 통해 만든 논리 트리를 단 한 번만 사용하는 경우, 해당 콘텐츠 속성을 직접 마크업으로 자식 요소를 채우는 것이 훨씬 더 쉬울 수 있습니다. 이렇게 하면 스타일 및 템플릿 메커니즘이 완전히 무시됩니다.

개체를 반환하는 태그 확장에서 사용하도록 설정된 다른 구문도 스타일 및 템플릿에 사용할 수 있습니다. 가능한 시나리오가 있는 두 가지 확장에는 TemplateBindingBinding포함됩니다.

참고 항목