인라인 스타일 및 템플릿

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

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

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

<object>

<object.Style>

< Style .../>

</object.Style>

</object>

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

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

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

참고 항목