다음을 통해 공유


{CustomResource} 태그 확장

사용자 지정 리소스 조회 구현에서 가져온 리소스에 대한 참조를 평가하여 XAML 특성에 대한 값을 제공합니다. 리소스 조회는 CustomXamlResourceLoader 클래스 구현에 의해 수행됩니다.

XAML 특성 사용

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

XAML 값

용어 설명
key 요청한 리소스의 키입니다. 키를 처음 할당하는 방법은 현재 사용하도록 등록된 CustomXamlResourceLoader 클래스의 구현과 관련이 있습니다.

설명

CustomResource 는 사용자 지정 리소스 저장소의 다른 위치에 정의된 값을 가져오는 기술입니다. 이 기술은 비교적 고급이며 대부분의 Windows 런타임 앱 시나리오에서 사용되지 않습니다.

CustomResource가 리소스 사전을 확인하는 방법은 이 항목에서 설명하지 않습니다. 이는 CustomXamlResourceLoader가 구현되는 방식에 따라 크게 달라질 수 있기 때문입니다.

CustomXamlResourceLoader 구현의 GetResource 메서드는 태그에서 사용량이 발생할 때마다 Windows 런타임 XAML 파서에서 호출됩니다.{CustomResource} GetResource전달되는 resourceId는 키 인수에서 제공되며 다른 입력 매개 변수는 사용이 적용되는 속성과 같은 컨텍스트에서 가져옵니다.

{CustomResource}해당 사용이 반드시 작동하는 것은 아닙니다(GetResource기본 구현은 불완전). 유효한 {CustomResource} 참조를 만들려면 다음 각 단계를 수행해야 합니다.

  1. CustomXamlResourceLoader에서 사용자 지정 클래스를 파생시키고 GetResource 메서드를 재정의합니다. 구현에서 기본을 호출하지 마세요.
  2. Initialization 논리에서 클래스를 참조하도록 CustomXamlResourceLoader.Current를 설정합니다. 확장 사용을 포함하는 페이지 수준 XAML이 {CustomResource} 로드 되기 전에 이 작업이 수행되어야 합니다. CustomXamlResourceLoader.Current를 설정하는 한 곳은 App.xaml 코드 숨김 템플릿에서 생성되는 애플리케이션 하위 클래스 생성자에 있습니다.
  3. 이제 앱이 페이지로 로드하는 XAML 또는 XAML 리소스 사전 내에서 확장을 사용할 {CustomResource} 수 있습니다.

CustomResource은 태그 확장입니다. 태그 확장은 특성 값을 리터럴 값 또는 처리기 이름이 아닌 다른 값이 되도록 이스케이프해야 하는 요구 사항이 있는 경우 일반적으로 구현되며 이러한 요구 사항은 특정 형식 또는 속성에 형식 변환기를 배치하는 것보다 더 포괄적입니다. XAML의 모든 태그 확장은 특성 구문에 "{" 및 "}" 문자를 사용하며, 여기서 특성 구문은 XAML 프로세서가 태그 확장이 특성을 처리해야 함을 인식하는 데 사용하는 규칙입니다.