Application.ResourceManagerRequested Événement
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Se produit lors du démarrage d’un nouveau thread WinUI pour vous permettre de fournir une implémentation personnalisée IResourceManager
à utiliser par l’infrastructure pour résoudre les URI de ressource.
// 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)
Type d'événement
TypedEventHandler<IInspectable,ResourceManagerRequestedEventArgs>
Remarques
L’infrastructure WinUI instancie un ResourceManager MRT Core pour résoudre les URI de ressource. Pour plus d’informations, consultez Gérer les ressources avec MRT Core. Si votre application a besoin d’un comportement non standard qui n’est pas fourni par défaut ResourceManager
pour résoudre un URI de ressource particulier, vous pouvez fournir votre propre implémentation personnalisée de l’interface IResourceManager à utiliser au lieu de la valeur par défaut ResourceManager
.
Gérez l’événement ResourceManagerRequested
pour fournir à l’infrastructure WinUI un IResourceManager personnalisé pour remplacer le ResourceManager par défaut créé par l’infrastructure. Dans le gestionnaire d’événements, instanciez votre personnalisé IResourceManager
et affectez-le à la propriété ResourceManagerRequestedEventArgs.CustomResourceManager . La valeur de cette propriété est initialement null
, et elle n’est vérifiée par l’infrastructure qu’une fois par levée d’événement une fois que tous les gestionnaires d’événements inscrits ont été appelés. Si la valeur de la propriété est toujours null
, l’infrastructure utilise la valeur par défaut ResourceManager
.
Cet événement est déclenché une fois par thread WinUI lors de l’initialisation. Si vous utilisez le même IResourceManager
pour plusieurs threads, le IResourceManager
doit être thread-safe.
Nous vous recommandons d’inscrire le gestionnaire d’événements dans le App
constructeur de classe afin qu’il soit disponible lors du lancement initial de l’application, comme illustré ici.
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;
};
}