Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
![]() |
---|
Esta documentación está dirigida a desarrolladores de .NET Framework que desean usar las clases administradas de UI Automation definidas en el espacio de nombres System.Windows.Automation.Para obtener información actualizada sobre UI Automation, vea Windows Automation API: UI Automation. |
Este tema contiene código de ejemplo que muestra cómo habilitar la navegación en un proveedor de Automatización de la interfaz de usuario para un elemento que está dentro de un fragmento.
Ejemplo
En el código de ejemplo siguiente se implementa Navigate para un elemento de una lista. El elemento primario es el elemento del cuadro de lista y los elementos del mismo nivel son los demás elementos de la colección List. El método devuelve null (Nothing en Visual Basic) para las direcciones que no son válidas; en este caso, FirstChild y LastChild, porque el elemento no tiene ningún elemento secundario.
''' <summary>
''' Navigate to adjacent elements in the automation tree.
''' </summary>
''' <param name="direction">Direction to navigate.</param>
''' <returns>The element in that direction, or null.</returns>
''' <remarks>
''' parentControl is the provider for the list box.
''' parentItems is the collection of list item providers.
''' </remarks>
Public Function Navigate(ByVal direction As NavigateDirection) As IRawElementProviderFragment _
Implements IRawElementProviderFragment.Navigate
Dim myIndex As Integer = parentItems.IndexOf(Me)
If direction = NavigateDirection.Parent Then
Return DirectCast(parentControl, IRawElementProviderFragment)
ElseIf direction = NavigateDirection.NextSibling Then
If myIndex < parentItems.Count - 1 Then
Return DirectCast(parentItems((myIndex + 1)), IRawElementProviderFragment)
Else
Return Nothing
End If
ElseIf direction = NavigateDirection.PreviousSibling Then
If myIndex > 0 Then
Return DirectCast(parentItems((myIndex - 1)), IRawElementProviderFragment)
Else
Return Nothing
End If
Else
Return Nothing
End If
End Function 'Navigate
/// <summary>
/// Navigate to adjacent elements in the automation tree.
/// </summary>
/// <param name="direction">Direction to navigate.</param>
/// <returns>The element in that direction, or null.</returns>
/// <remarks>
/// parentControl is the provider for the list box.
/// parentItems is the collection of list item providers.
/// </remarks>
public IRawElementProviderFragment Navigate(NavigateDirection direction)
{
int myIndex = parentItems.IndexOf(this);
if (direction == NavigateDirection.Parent)
{
return (IRawElementProviderFragment)parentControl;
}
else if (direction == NavigateDirection.NextSibling)
{
if (myIndex < parentItems.Count - 1)
{
return (IRawElementProviderFragment)parentItems[myIndex + 1];
}
else
{
return null;
}
}
else if (direction == NavigateDirection.PreviousSibling)
{
if (myIndex > 0)
{
return (IRawElementProviderFragment)parentItems[myIndex - 1];
}
else return null;
}
else return null;
}
Vea también
Conceptos
Información general sobre proveedores de UI Automation
Implementación del proveedor de UI Automation en el servidor