UIElement.OnCreateAutomationPeer Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Wenn sie in einer abgeleiteten Klasse implementiert wird, werden klassenspezifische AutomationPeerimplementierungen für die Microsoft Benutzeroberflächenautomatisierung Infrastruktur zurückgegeben.
protected:
virtual AutomationPeer ^ OnCreateAutomationPeer() = OnCreateAutomationPeer;
AutomationPeer OnCreateAutomationPeer();
protected virtual AutomationPeer OnCreateAutomationPeer();
function onCreateAutomationPeer()
Protected Overridable Function OnCreateAutomationPeer () As AutomationPeer
Gibt zurück
Die klassenspezifische AutomationPeer-Unterklasse , die zurückgegeben werden soll.
Beispiele
Die gesamte OnCreateAutomationPeer Implementierung sollte aus der Erstellung der benutzerdefinierten Automatisierungspeerklasse und der Rückgabe bestehen.
protected override AutomationPeer OnCreateAutomationPeer()
{
return new MediaContainerAP(this, mediaElement);
}
#include "MediaContainerAP.h"
...
public:
MyNamespace::MediaContainerAP OnCreateAutomationPeer()
{
return winrt::make<MyNamespace::implementation::MediaContainerAP>(*this, mediaElement());
}
Hinweise
Weitere Informationen zum Zweck eines Automatisierungspeers und warum Sie möglicherweise eine klassenspezifische AutomationPeer-Klasse definieren müssen, finden Sie unter Benutzerdefinierte Automatisierungspeers.
Sie sollten diese Methode in einer benutzerdefinierten Klasse überschreiben, in der Sie einen benutzerdefinierten Automatisierungspeer für Microsoft Benutzeroberflächenautomatisierung bereitstellen möchten, anstatt auf den Standardspeer, auf den die Standardimplementierung OnCreateAutomationPeer verweist. Wie Sie einen benutzerdefinierten Peer für Ihr benutzerdefiniertes Steuerelement definieren, hängt von den Barrierefreiheitsanforderungen Ihres Steuerelements, dessen UI-Vertrag und seinem Verhalten ab. Weitere Informationen dazu, warum Sie einen neuen Peer definieren möchten, finden Sie unter Benutzerdefinierte Automatisierungspeers.
Hinweis
Dieses Beispiel wird nicht verwaltet und kann nicht kompiliert werden.
Siehe XAML-Beispiel für die Barrierefreiheit für eine Implementierung, die OnCreateAutomationPeer den benutzerdefinierten Peer definiert, von OnCreateAutomationPeer dem zurückgegeben wird (die Peerimplementierung ist Teil von Szenario 3 in diesem Beispiel).
Es wird empfohlen, dass die OnCreateAutomationPeer Implementierung nichts anderes tun sollte, als eine neue Instanz Ihres benutzerdefinierten Automatisierungspeers zu initialisieren, das aufrufende Steuerelement als Besitzer zu übergeben und diese Instanz zurückzugeben. Versuchen Sie in dieser Methode nicht, zusätzliche Logik zu verwenden. Insbesondere kann jede Logik, die potenziell zur Zerstörung von AutomationPeer innerhalb desselben Aufrufs führen kann, zu unerwartetem Laufzeitverhalten führen.