Obtener el estado de alternancia de una casilla mediante UI Automation

Nota

Esta documentación está dirigida a los desarrolladores de .NET Framework que quieran usar las clases de automatización de la interfaz de usuario administradas definidas en el espacio de nombres System.Windows.Automation. Para ver la información más reciente acerca de la automatización de la interfaz de usuario, consulte Windows Automation API: automatización de la interfaz de usuario.

En este tema se muestra cómo usar la automatización de la interfaz de usuario de Microsoft para obtener el estado de alternancia de un control.

Ejemplo

En este ejemplo se usa el método GetCurrentPattern de la clase AutomationElement para obtener un objeto TogglePattern de un control y devolver su propiedad ToggleState.

/// <summary>
/// Gets the toggle state of an element in the target application.
/// </summary>
/// <param name="element">The target element.</param>
private bool IsElementToggledOn(AutomationElement element)
{
    if (element == null)
    {
        // TODO: Invalid parameter error handling.
        return false;
    }

    Object objPattern;
    TogglePattern togPattern;
    if (true == element.TryGetCurrentPattern(TogglePattern.Pattern, out objPattern))
    {
        togPattern = objPattern as TogglePattern;
        return togPattern.Current.ToggleState == ToggleState.On;
    }
    // TODO: Object doesn't support TogglePattern error handling.
    return false;
}
''' <summary>
''' Gets the toggle state of an element in the target application.
''' </summary>
''' <param name="element">The target element.</param>
Private Function IsElementToggledOn(ByVal element As AutomationElement) As Boolean
    If element Is Nothing Then
        ' TODO: Invalid parameter error handling.
        Return False
    End If

    Dim objPattern As Object = Nothing
    Dim togPattern As TogglePattern
    If True = element.TryGetCurrentPattern(TogglePattern.Pattern, objPattern) Then
        togPattern = TryCast(objPattern, TogglePattern)
        Return togPattern.Current.ToggleState = ToggleState.On
    End If
    ' TODO: Object doesn't support TogglePattern error handling.
    Return False
End Function