ComponentResourceKey 태그 확장
업데이트: 2007년 11월
외부 어셈블리에서 로드되는 리소스의 키를 정의하고 참조합니다. 리소스 조회 시 어셈블리에서 명시적 리소스 사전 대신 대상 형식을 지정할 수 있습니다.
XAML 특성 사용(키 설정, 간단한 구문)
<object x:Key="{ComponentResourceKey {x:Type targetTypeName}, targetID}" .../>
XAML 특성 사용(키 설정, 자세한 구문)
<object x:Key="{ComponentResourceKey TypeInTargetAssembly={x:Type targetTypeName}, ResourceID=targetID}" .../>
XAML 특성 사용(리소스 요청, 간단한 구문)
<object property="{DynamicResource {ComponentResourceKey {x:Type targetTypeName}, targetID}}" .../>
XAML 특성 사용(리소스 요청, 자세한 구문)
<object property="{DynamicResource {ComponentResourceKey TypeInTargetAssembly={x:Type targetTypeName}, ResourceID=targetID}}" .../>
XAML 값
targetTypeName |
리소스 어셈블리에 정의된 공용 CLR(공용 언어 런타임) 형식의 이름입니다. |
targetID |
리소스의 키입니다. 리소스를 조회할 때는 targetID가 리소스의 x:Key 특성과 비슷합니다. |
설명
TypeInTargetAssembly는 리소스가 실제로 정의된 대상 어셈블리에 포함된 형식을 식별합니다. ComponentResourceKey는 TypeInTargetAssembly가 정의된 위치를 모르는 경우에도 독립적으로 정의하고 사용할 수 있지만 궁극적으로는 참조된 어셈블리를 통해 형식을 확인해야 합니다.
ComponentResourceKey의 일반적인 용도는 클래스의 멤버로 노출되는 키를 정의하는 데 있습니다. 이러한 용도로 사용하는 경우 태그 확장이 아니라 ComponentResourceKey 클래스 생성자를 사용합니다.
특성 구문은 일반적으로 ComponentResourceKey 태그 확장에 사용되는 구문입니다. 앞에 나온 간단한 구문에서는 ComponentResourceKey.ComponentResourceKey 생성자 시그니처를 사용하며 targetTypeName 및 targetID를 지정하는 순서가 중요합니다. 자세한 구문에서는 ComponentResourceKey.ComponentResourceKey 기본 생성자를 사용하고 개체 요소의 실제 특성 구문과 비슷한 방법으로 TypeInTargetAssembly 및 ResourceId를 설정합니다. 자세한 구문에서는 속성을 설정하는 순서가 중요하지 않습니다. 간단한 구문과 자세한 구문의 관계 및 메커니즘에 대해서는 태그 확장 및 XAML 항목에 보다 자세히 설명되어 있습니다.
ComponentResourceKey는 개체 요소 구문에서 사용할 수 있습니다. 이 경우 TypeInTargetAssembly 및 ResourceId 속성 값을 모두 지정해야만 확장을 적절히 초기화할 수 있습니다.
WPF XAML 판독기 구현에서 이 태그 확장에 대한 처리는 ComponentResourceKey 클래스를 통해 정의됩니다.
ComponentResourceKey는 태그 확장입니다. 태그 확장은 특성 값을 리터럴 값 또는 처리기 이름이 아닌 다른 값이 되도록 이스케이프해야 하는 요구 사항이 있는 경우 일반적으로 구현되며 이러한 요구 사항은 특정 형식 또는 속성에 형식 변환기를 배치하는 것보다 더 포괄적입니다. XAML의 모든 태그는 태그의 특성 구문에 { 및 } 문자를 사용하며 여기서 특성 구문은 XAML 프로세서에 태그 확장이 특성을 처리해야 한다는 것을 인식하는 규칙입니다. 자세한 내용은 태그 확장 및 XAML을 참조하십시오.