Partager via


UIElement.OnCreateAutomationPeer Méthode

Définition

En cas d’implémentation dans une classe dérivée, retourne des implémentations AutomationPeer spécifiques à la classe pour l’infrastructure Microsoft UI Automation.

protected:
 virtual AutomationPeer ^ OnCreateAutomationPeer() = OnCreateAutomationPeer;
AutomationPeer OnCreateAutomationPeer();
protected virtual AutomationPeer OnCreateAutomationPeer();
function onCreateAutomationPeer()
Protected Overridable Function OnCreateAutomationPeer () As AutomationPeer

Retours

Sous-classe AutomationPeer spécifique à la classe à retourner.

Exemples

L’intégralité d’une implémentation OnCreateAutomationPeer doit consister à construire la classe d’homologue Automation personnalisée et à la renvoyer.

protected override AutomationPeer OnCreateAutomationPeer() 
{
    return new MediaContainerAP(this, mediaElement); 
}
#include "MediaContainerAP.h"
...
public:
    MyNamespace::MediaContainerAP OnCreateAutomationPeer()
    {
        return winrt::make<MyNamespace::implementation::MediaContainerAP>(*this, mediaElement());
    }
protected:
    virtual AutomationPeer^ OnCreateAutomationPeer() override
    {
        return ref new MediaContainerAP(this, mediaElement);
    }
};
Protected Overrides Function OnCreateAutomationPeer() As AutomationPeer
    Return New MediaContainerAP(Me, mediaElement)
End Function

Remarques

Pour plus d’informations sur l’objectif d’un homologue Automation et sur la raison pour laquelle vous devrez peut-être définir une classe AutomationPeer spécifique à une classe, consultez Homologues d’automatisation personnalisés.

Vous devez remplacer cette méthode dans une classe personnalisée dans laquelle vous souhaitez fournir un homologue Automation personnalisé pour Microsoft UI Automation, plutôt que l’homologue par défaut référencé par l’implémentation OnCreateAutomationPeer par défaut. La façon dont vous définissez un homologue personnalisé pour votre contrôle personnalisé dépend des exigences d’accessibilité de votre contrôle, de son contrat d’interface utilisateur et de son comportement. Pour plus d’informations sur la raison pour laquelle vous souhaiterez peut-être définir un nouvel homologue, consultez Homologues d’automatisation personnalisés.

Notes

Cet exemple n’est pas géré et peut ne pas être compilé.

Consultez l’exemple d’accessibilité XAML pour une implémentation de OnCreateAutomationPeer qui définit l’homologue personnalisé retourné par OnCreateAutomationPeer (l’implémentation de l’homologue fait partie du scénario 3 de cet exemple).

Nous recommandons que l’implémentation OnCreateAutomationPeer ne fasse rien d’autre que d’initialiser une nouvelle instance de votre homologue d’automatisation personnalisé, en passant le contrôle appelant comme propriétaire et en renvoyant cette instance. Ne tentez pas une logique supplémentaire dans cette méthode. En particulier, toute logique qui peut éventuellement aboutir à la destruction de AutomationPeer dans le même appel peut entraîner un comportement inattendu lors de l’exécution.

S’applique à

Voir aussi