FrameworkElementAutomationPeer.FromElement(UIElement) Método

Definición

Devuelve FrameworkElementAutomationPeer para el uiElement especificado.

public:
 static AutomationPeer ^ FromElement(UIElement ^ element);
 static AutomationPeer FromElement(UIElement const& element);
public static AutomationPeer FromElement(UIElement element);
function fromElement(element)
Public Shared Function FromElement (element As UIElement) As AutomationPeer

Parámetros

Devoluciones

FrameworkElementAutomationPeer o null si no se pudo crear FrameworkElementAutomationPeer.

Ejemplos

El diseño de compatibilidad de automatización no conserva un identificador para su propio elemento del mismo nivel como parte de cómo se implementa OnCreateAutomationPeer, ya que no hay ninguna garantía de cuándo se crea realmente el mismo nivel. En su lugar, puede comprobar si hay agentes de escucha de eventos de automatización en tiempo de ejecución dentro de las definiciones de clase de control Just-In-Time, con código similar al siguiente:

if (AutomationPeer.ListenerExists(AutomationEvents.PropertyChanged))
{
    MyAutomationPeer peer = 
        FrameworkElementAutomationPeer.FromElement(myCtrl) as MyAutomationPeer;

    if (peer != null)
    {
        peer.RaisePropertyChangedEvent(
            RangeValuePatternIdentifiers.ValueProperty,
            (double)oldValue,
            (double)newValue);
    }
}
If AutomationPeer.ListenerExists(AutomationEvents.PropertyChanged) Then
    Dim peer As MyDownAutomationPeer = _
    TryCast(FrameworkElementAutomationPeer.FromElement(myCtrl), MyAutomationPeer)
    If peer IsNot Nothing Then
        peer.RaisePropertyChangedEvent(RangeValuePatternIdentifiers.ValueProperty, CDbl(oldValue), CDbl(newValue))
    End If
End If

Comentarios

FromElement es una clase auxiliar que usa el código de control personalizado para devolver la instancia del mismo nivel que actúa. Con el elemento del mismo nivel devuelto, puede desencadenar eventos de automatización desde las mismas rutinas que también activan los eventos de lógica de control general o las propiedades de control de cambios. O bien, puede escribir sus propios métodos auxiliares que lo hacen y se invocan desde la lógica de control.

CreatePeerForElement tiene básicamente el mismo comportamiento que FromElement.

Si FromElement devuelve null, es probable que se deba a que el elemento que pasó no tiene una implementación para OnCreateAutomationPeer.

FromElement puede devolver el elemento del mismo nivel aunque la lógica del sistema CreateAutomationPeer todavía no se haya ejecutado en el destino del elemento por algún motivo. Invocará internamente la misma lógica CreateAutomationPeer para obtener el mismo nivel.

Se aplica a

Consulte también