FrameworkElementAutomationPeer.CreatePeerForElement(UIElement) Méthode
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.
Crée un FrameworkElementAutomationPeer pour l’UIElement spécifié.
public:
static AutomationPeer ^ CreatePeerForElement(UIElement ^ element);
static AutomationPeer CreatePeerForElement(UIElement const& element);
public static AutomationPeer CreatePeerForElement(UIElement element);
function createPeerForElement(element)
Public Shared Function CreatePeerForElement (element As UIElement) As AutomationPeer
Paramètres
- element
- UIElement
UIElement associé à ce FrameworkElementAutomationPeer.
Retours
FrameworkElementAutomationPeer.
Exemples
CreatePeerForElement est utile si vous écrivez un homologue qui transfère les informations d’homologue à partir de l’une de ses parties de composant, car il s’agit du composant qui peut implémenter un modèle comme demandé dans l’implémentation GetPatternCore de l’homologue. Par exemple, si l’un des composants main d’un contrôle est un ScrollViewer, le contrôle lui-même peut avoir une autre fonction et ne fait pas défiler directement. Toutefois, l’homologue peut toujours souhaiter signaler la prise en charge d’un modèle Scroll et fournir un homologue afin qu’un client puisse interagir avec le modèle d’automatisation de la partie de défilement.
protected override object GetPatternCore(PatternInterface patternInterface)
{
if (patternInterface == PatternInterface.Scroll)
{
ItemsControl owner = (ItemsControl) base.Owner;
UIElement itemsHost = owner.ItemsHost;
ScrollViewer element = null;
while (itemsHost != owner)
{
itemsHost = VisualTreeHelper.GetParent(itemsHost) as UIElement;
element = itemsHost as ScrollViewer;
if (element != null)
{
break;
}
}
if (element != null)
{
AutomationPeer peer = FrameworkElementAutomationPeer.CreatePeerForElement(element);
if ((peer != null) && (peer is IScrollProvider))
{
return (IScrollProvider) peer;
}
}
}
return base.GetPatternCore(patternInterface);
}
Remarques
CreatePeerForElement est une classe d’assistance qui est utilisée par le code de contrôle personnalisé pour retourner l’homologue agissant instance. À l’aide de l’homologue retourné, vous pouvez déclencher des événements d’automatisation à partir des mêmes routines qui déclenchent également vos événements de logique de contrôle général ou modifient les propriétés de contrôle. Vous pouvez également écrire vos propres méthodes d’assistance qui effectuent cette opération et qui sont appelées à partir de votre logique de contrôle.
Le FrameworkElementAutomationPeer créé reste en mémoire jusqu’à ce que l’élément UIElement associé soit détruit. La même instance de FrameworkElementAutomationPeer est retournée à partir des appels suivants à CreatePeerForElement et des appels à FromElement qui font référence au même élément instance.
Le type de l’homologue retourné est déterminé par l’implémentation OnCreateAutomationPeer de l’élément UIElement approprié, qui est généralement un contrôle. Si le code de classe pour le type d’élément n’implémente pas OnCreateAutomationPeer, aucun homologue n’est créé et CreatePeerForElement retourne null. Il est recommandé de toujours case activée pour null après avoir appelé CreatePeerForElement, car il existe un certain nombre d’éléments Windows Runtime qui n’auront pas d’implémentation OnCreateAutomationPeer. Par exemple, un ContentControl n’a pas d’homologue par défaut, sauf s’il est personnalisé ou s’il s’agit d’un contrôle Windows Runtime plus dérivé.
CreatePeerForElement a essentiellement le même comportement que FromElement.
CreatePeerForElement peut retourner l’homologue même si la logique système CreateAutomationPeer n’a pas encore été exécutée sur la cible de l’élément pour une raison quelconque. Il appelle la même logique CreateAutomationPeer en interne afin d’obtenir l’homologue.