Export (0) Print
Expand All

ExpandCollapsePattern.ExpandCollapsePatternInformation.ExpandCollapseState Property

Namespace:  System.Windows.Automation
Assembly:  UIAutomationClient (in UIAutomationClient.dll)

'Declaration
Public ReadOnly Property ExpandCollapseState As ExpandCollapseState

ExpandCollapseState refers to the visibility of immediate child objects only; it does not refer to the visibility of all descendant objects.

The default value is Expanded.

In the following example, an AutomationElement representing a menu item is passed to a function that attempts to expand or collapse the menu item based on its current ExpandCollapseState.


'''--------------------------------------------------------------------
''' <summary>
''' Obtains an ExpandCollapsePattern control pattern from an 
''' automation element.
''' </summary>
''' <param name="targetControl">
''' The automation element of interest.
''' </param>
''' <returns>
''' A ExpandCollapsePattern object.
''' </returns>
'''--------------------------------------------------------------------
Private Function GetExpandCollapsePattern( _
ByVal targetControl As AutomationElement) As ExpandCollapsePattern
    Dim expandCollapsePattern As ExpandCollapsePattern = Nothing

    Try
        expandCollapsePattern = DirectCast( _
        targetControl.GetCurrentPattern(expandCollapsePattern.Pattern), _
        ExpandCollapsePattern)
    Catch exc As InvalidOperationException
        ' Object doesn't support the ExpandCollapsePattern control pattern.
        Return Nothing
    End Try

    Return expandCollapsePattern

End Function 'GetExpandCollapsePattern    


...


'''--------------------------------------------------------------------
''' <summary>
''' Programmatically expand or collapse a menu item.
''' </summary>
''' <param name="menuItem">
''' The target menu item.
''' </param>
'''--------------------------------------------------------------------
Private Sub ExpandCollapseMenuItem(ByVal menuItem As AutomationElement)
    If menuItem Is Nothing Then
        Throw New ArgumentNullException( _
        "AutomationElement argument cannot be null.")
    End If

    Dim expandCollapsePattern As ExpandCollapsePattern = _
    GetExpandCollapsePattern(menuItem)

    If expandCollapsePattern Is Nothing Then
        Return
    End If

    If expandCollapsePattern.Current.ExpandCollapseState = _
    ExpandCollapseState.LeafNode Then
        Return
    End If

    Try
        If expandCollapsePattern.Current.ExpandCollapseState = _
        ExpandCollapseState.Expanded Then
            ' Collapse the menu item.
            expandCollapsePattern.Collapse()

        ElseIf expandCollapsePattern.Current.ExpandCollapseState = _
        ExpandCollapseState.Collapsed OrElse _
        expandCollapsePattern.Current.ExpandCollapseState = _
        ExpandCollapseState.PartiallyExpanded Then
            ' Expand the menu item.
            expandCollapsePattern.Expand()
        End If
    Catch exc As ElementNotEnabledException
        ' Control is not enabled
        ' TO DO: error handling.
    Catch exc As InvalidOperationException
        ' Control is unable to perform operation 
        ' TO DO: error handling.
    End Try

End Sub 'ExpandCollapseMenuItem ' TO DO: error handling.


.NET Framework

Supported in: 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Community Additions

ADD
Show:
© 2014 Microsoft