Поделиться через


Application.ResourceManagerRequested Событие

Определение

Происходит во время запуска нового потока WinUI, что позволяет предоставить пользовательскую IResourceManager реализацию, которая будет использоваться платформой для разрешения URI ресурсов.

// 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 Для разрешения URI ресурсов. Дополнительные сведения см. в статье Управление ресурсами с помощью MRT Core. Если приложению требуется нестандартное поведение, не заданное по умолчанию ResourceManager для разрешения определенного URI ресурса, можно предоставить собственную пользовательскую реализацию интерфейса IResourceManager для использования вместо стандартного ResourceManager.

Обработайте событие, ResourceManagerRequested чтобы предоставить платформе WinUI пользовательский IResourceManager для замены resourceManager по умолчанию, создаваемого платформой. В обработчике событий создайте пользовательский 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;
   };
}

Применяется к

См. также раздел