다음을 통해 공유


StaticResource 마크업 확장

이미 정의된 리소스에 대한 참조를 조회하여 모든 XAML 속성 특성에 대한 값을 제공합니다. 해당 리소스에 대한 조회 동작은 로드 시간 조회와 유사합니다. 이 조회는 현재 XAML 페이지 및 다른 애플리케이션 원본의 태그에서 이전에 로드된 리소스를 찾고 해당 리소스 값을 런타임 개체의 속성 값으로 생성합니다.

XAML 특성 사용

<object property="{StaticResource key}" ... />

XAML 개체 요소 사용

<object>
  <object.property>
<StaticResource ResourceKey="key" ... />
  </object.property>
</object>

XAML 값

가치 설명
key 요청된 리소스의 키입니다. 이 키는 마크업에서 리소스가 생성된 경우 x:Key 지시문에 의해 처음 할당되었고, 코드에서 리소스가 생성되었을 때는 ResourceDictionary.Add를 호출할 때 key 매개 변수로 제공되었습니다.

비고

중요합니다

XAML 파일에서 구문 분석 측면에서 뒤에 정의된 리소스를 참조하려고 해서는 안 됩니다. 이렇게 하려는 시도는 지원되지 않으며, 참조가 실패하지 않더라도 전방 참조를 시도할 경우 내부 해시 테이블에서 특정 항목을 검색할 때 로드 시간 성능 저하가 발생합니다. 최상의 결과를 얻으려면 전방 참조를 피할 수 있도록 리소스 사전의 컴퍼지션을 조정합니다. 전방 참조를 피할 수 없는 경우 DynamicResource 마크업 확장을 대신 사용합니다.

지정된 ResourceKey는 페이지, 애플리케이션에서 사용 가능한 컨트롤 테마 및 외부 리소스, 또는 시스템 리소스의 특정 수준에 있는 x:Key 지시문으로 식별되는 기존 리소스와 일치해야 합니다. 리소스 조회는 해당 순서대로 수행됩니다. 정적 및 동적 리소스의 조회 동작에 대한 자세한 내용은 XAML 리소스를 참조하세요.

리소스 키는 XamlName 문법에 따라 정의된 문자열일 수 있습니다. 리소스 키는 Type와 같은 다른 개체 유형일 수도 있습니다. Type 키는 암시적 스타일 키를 통해 테마별로 컨트롤을 스타일링하는 데 기본적인 요소입니다. 자세한 내용은 컨트롤 제작 개요를 참조하세요.

리소스를 참조하는 대체 선언적 방법은 DynamicResource 마크업 확장입니다.

특성 구문은 이 태그 확장에 사용되는 가장 일반적인 구문입니다. StaticResource 식별자 문자열 이후에 제공된 문자열 토큰은 기본 ResourceKey 확장 클래스의 StaticResourceExtension 값으로 할당됩니다.

StaticResource는 개체 요소 구문에서 사용될 수 있습니다. 이 경우 ResourceKey 속성의 값을 지정해야 합니다.

StaticResourceResourceKey 속성을 속성=값 쌍으로 지정하는 자세한 속성 사용법에서도 사용할 수 있습니다.

<object property="{StaticResource ResourceKey=key}" ... />

자세한 정보 표시는 대개 설정 가능한 속성이 둘 이상이거나 일부 속성이 선택 사항인 확장의 경우에 유용합니다. StaticResource에는 설정 가능한 속성이 하나뿐이며 이 속성은 필수적 속성이므로, 자세하게 설명하는 사용법은 일반적이지 않습니다.

WPF XAML 프로세서 구현에서 이 태그 확장에 대한 처리는 StaticResourceExtension 클래스에 의해 정의됩니다.

StaticResource 태그 확장입니다. 마크업 확장은 속성 값을 리터럴 값이나 처리기 이름이 아닌 다른 값으로 처리해야 할 필요가 있을 때 일반적으로 구현되며, 이러한 필요는 특정 형식이나 속성에만 형식 변환기를 사용하는 것보다 더 광범위합니다. XAML의 모든 태그 확장은 특성 구문에 { 및 } 문자를 사용하며, 여기서 특성 구문은 XAML 프로세서가 태그 확장이 특성을 처리해야 함을 인식하는 데 사용하는 규칙입니다. 더 많은 정보를 원하시면 태그 확장 및 WPF XAML을 참조하세요.

참고하십시오