Compartilhar via


FrameworkElementAutomationPeer.FromElement(UIElement) Método

Definição

Retorna o FrameworkElementAutomationPeer para o 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

element
UIElement

O UIElement associado a este FrameworkElementAutomationPeer.

Retornos

O FrameworkElementAutomationPeer ou nulo se o FrameworkElementAutomationPeer não puder ser criado.

Exemplos

O design de suporte de automação não mantém um identificador para seu próprio par como parte de como você implementa OnCreateAutomationPeer, porque não há nenhuma garantia de quando o par é realmente criado. Em vez disso, você pode marcar para ouvintes de eventos de automação em tempo de execução dentro de suas definições de classe de controle just-in-time, usando um código como este:

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

Comentários

FromElement é uma classe auxiliar usada pelo código de controle personalizado para retornar a instância de par em ação. Usando o par retornado, você pode disparar eventos de automação de dentro das mesmas rotinas que também disparam seus eventos lógicos de controle geral ou alteram as propriedades de controle. Ou você pode escrever seus próprios métodos auxiliares que fazem isso e são invocados da lógica de controle.

CreatePeerForElement tem basicamente o mesmo comportamento que FromElement.

Se FromElement retornar nulo, provavelmente será porque o elemento passado não tem uma implementação para OnCreateAutomationPeer.

FromElement pode retornar o par mesmo que a lógica do sistema CreateAutomationPeer ainda não tenha sido executada no destino do elemento por algum motivo. Ele invocará a mesma lógica CreateAutomationPeer internamente para obter o par.

Aplica-se a

Confira também