Share via


Application.ResourceManagerRequested 이벤트

정의

리소스 URI를 확인하기 위해 프레임워크에서 사용할 사용자 지정 IResourceManager 구현을 제공할 수 있도록 새 WinUI 스레드를 시작하는 동안 발생합니다.

// Register
event_token ResourceManagerRequested(TypedEventHandler<IInspectable, ResourceManagerRequestedEventArgs const&> const& handler) const;

// Revoke with event_token
void ResourceManagerRequested(event_token const* cookie) const;

// Revoke with event_revoker
Application::ResourceManagerRequested_revoker ResourceManagerRequested(auto_revoke_t, TypedEventHandler<IInspectable, ResourceManagerRequestedEventArgs const&> const& handler) const;
public event TypedEventHandler<object,ResourceManagerRequestedEventArgs> ResourceManagerRequested;
function onResourceManagerRequested(eventArgs) { /* Your code */ }
application.addEventListener("resourcemanagerrequested", onResourceManagerRequested);
application.removeEventListener("resourcemanagerrequested", onResourceManagerRequested);
- or -
application.onresourcemanagerrequested = onResourceManagerRequested;
Public Custom Event ResourceManagerRequested As TypedEventHandler(Of Object, ResourceManagerRequestedEventArgs) 

이벤트 유형

설명

WinUI 프레임워크는 MRT Core ResourceManager를 인스턴스화하여 리소스 URI를 resolve. 자세한 내용은 MRT Core로 리소스 관리를 참조하세요. 특정 리소스 URI를 resolve 위해 앱에서 기본값 ResourceManager 으로 제공되지 않은 비표준 동작이 필요한 경우 기본 ResourceManager대신 사용할 IResourceManager 인터페이스의 사용자 지정 구현을 제공할 수 있습니다.

프레임워크에서 ResourceManagerRequested 만드는 기본 ResourceManager를 대체할 사용자 지정 IResourceManager를 WinUI 프레임워크에 제공하는 이벤트를 처리합니다. 이벤트 처리기에서 사용자 지정 IResourceManager 을 인스턴스화하고 ResourceManagerRequestedEventArgs.CustomResourceManager 속성에 할당합니다. 이 속성의 값은 처음에 null이며 등록된 모든 이벤트 처리기가 호출된 후에는 이벤트 발생당 한 번만 프레임워크에서 확인됩니다. 속성 값이 여전히 null이면 프레임워크는 기본 ResourceManager을 사용합니다.

이 이벤트는 초기화 중에 WinUI 스레드당 한 번 발생합니다. 여러 스레드에 대해 동일한 IResourceManager 를 사용하는 경우 는 IResourceManager 스레드로부터 안전해야 합니다.

여기에 표시된 것처럼 초기 앱 시작 중에 사용할 수 있도록 클래스 생성자에 이벤트 처리기를 App 등록하는 것이 좋습니다.

public App()
{
   this.InitializeComponent();

   ResourceManagerRequested += (_, e) =>
   {
      // CreateResourceManager() is a custom method you
      // create that returns an instance of IResourceManager.
      IResourceManager resourceManager = CreateResourceManager();
      e.ResourceManager = resourceManager;
   };
}

적용 대상

추가 정보