Compartir a través de


Obtener el estado de alternancia de una casilla mediante UI Automation

NotaNota

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.

En este tema se muestra cómo utilizar la Microsoft UI Automation para obtener el estado de alternancia de un control.

Ejemplo

En este ejemplo se utiliza 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 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
/// <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;
}