ExpandCollapsePattern.ExpandCollapsePatternInformation.ExpandCollapseState 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
ExpandCollapseState의 AutomationElement을 가져옵니다.
public:
property System::Windows::Automation::ExpandCollapseState ExpandCollapseState { System::Windows::Automation::ExpandCollapseState get(); };
public System.Windows.Automation.ExpandCollapseState ExpandCollapseState { get; }
member this.ExpandCollapseState : System.Windows.Automation.ExpandCollapseState
Public ReadOnly Property ExpandCollapseState As ExpandCollapseState
속성 값
ExpandCollapseState의 AutomationElement입니다.
예제
다음 예제에서는 AutomationElement 현재를 기준으로 메뉴 항목을 펼치거나 하려고 하는 함수에 전달 되는 메뉴 항목을 나타내는 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 ExpandCollapsePattern GetExpandCollapsePattern(
AutomationElement targetControl)
{
ExpandCollapsePattern expandCollapsePattern = null;
try
{
expandCollapsePattern =
targetControl.GetCurrentPattern(
ExpandCollapsePattern.Pattern)
as ExpandCollapsePattern;
}
// Object doesn't support the ExpandCollapsePattern control pattern.
catch (InvalidOperationException)
{
return null;
}
return expandCollapsePattern;
}
'''--------------------------------------------------------------------
''' <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 void ExpandCollapseMenuItem(
AutomationElement menuItem)
{
if (menuItem == null)
{
throw new ArgumentNullException(
"AutomationElement argument cannot be null.");
}
ExpandCollapsePattern expandCollapsePattern =
GetExpandCollapsePattern(menuItem);
if (expandCollapsePattern == null)
{
return;
}
if (expandCollapsePattern.Current.ExpandCollapseState ==
ExpandCollapseState.LeafNode)
{
return;
}
try
{
if (expandCollapsePattern.Current.ExpandCollapseState == ExpandCollapseState.Expanded)
{
// Collapse the menu item.
expandCollapsePattern.Collapse();
}
else if (expandCollapsePattern.Current.ExpandCollapseState == ExpandCollapseState.Collapsed ||
expandCollapsePattern.Current.ExpandCollapseState == ExpandCollapseState.PartiallyExpanded)
{
// Expand the menu item.
expandCollapsePattern.Expand();
}
}
// Control is not enabled
catch (ElementNotEnabledException)
{
// TO DO: error handling.
}
// Control is unable to perform operation.
catch (InvalidOperationException)
{
// TO DO: error handling.
}
}
'''--------------------------------------------------------------------
''' <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
설명
ExpandCollapseState 는 직계 자식 개체의 표시 유형을 나타내며, 모든 하위 개체의 표시 유형을 나타내지는 않습니다.
기본값은 Expanded입니다.
적용 대상
추가 정보
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET