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)
Тип события
TypedEventHandler<IInspectable,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;
};
}