다음을 통해 공유


클라이언트용 UI 자동화 컨트롤 패턴

참고참고

이 문서는 System.Windows.Automation 네임스페이스에 정의된 관리되는 UI Automation 클래스를 사용하려는 .NET Framework 개발자를 위해 작성되었습니다.UI Automation에 대한 최신 정보는 Windows Automation API: UI Automation을 참조하십시오.

이 개요에서는 UI 자동화 클라이언트에 대한 컨트롤 패턴을 소개합니다. UI 자동화 클라이언트에서 컨트롤 패턴을 사용하여 user interface (UI) 정보에 액세스하는 방법도 설명합니다.

컨트롤 패턴을 사용하면 컨트롤 형식이나 컨트롤 모양에 독립적으로 컨트롤의 기능을 분류하고 노출할 수 있습니다. UI 자동화 클라이언트에서 AutomationElement를 조사하여 어떤 컨트롤 패턴이 지원되는지 확인하고 해당 컨트롤의 동작을 알 수 있습니다.

컨트롤 패턴의 전체 목록을 보려면 UI 자동화 컨트롤 패턴 개요를 참조하십시오.

이 항목에는 다음 단원이 포함되어 있습니다.

  • 컨트롤 패턴 가져오기
  • 컨트롤 패턴의 속성 검색
  • 가변 패턴이 있는 컨트롤
  • 관련 항목

컨트롤 패턴 가져오기

클라이언트는 AutomationElement.GetCachedPattern 또는 AutomationElement.GetCurrentPattern을 호출하여 AutomationElement에서 컨트롤 패턴을 검색합니다.

클라이언트에서 GetSupportedPatterns 메서드나 개별 IsPatternAvailable 속성(예: IsTextPatternAvailableProperty)을 사용하여 패턴 또는 패턴 그룹이 AutomationElement에서 지원되는지 확인할 수 있습니다. 그러나 지원되는 속성을 확인하고 컨트롤 패턴을 가져오는 것보다 컨트롤 패턴을 가져온 다음 null 참조에 대한 테스트를 수행하는 편이 더 효율적입니다. 이렇게 하면 프로세스 간 호출 수를 줄일 수 있기 때문입니다.

다음 예제에서는 AutomationElement에서 TextPattern 컨트롤 패턴을 가져오는 방법을 보여 줍니다.

// Specify the control type we're looking for, in this case 'Document'
PropertyCondition cond = new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document);

// target --> The root AutomationElement.
AutomationElement textProvider = target.FindFirst(TreeScope.Descendants, cond);

targetTextPattern = textProvider.GetCurrentPattern(TextPattern.Pattern) as TextPattern;

if (targetTextPattern == null)
{
    Console.WriteLine("Root element does not contain a descendant that supports TextPattern.");
    return;
}

컨트롤 패턴의 속성 검색

클라이언트는 AutomationElement.GetCachedPropertyValue 또는 AutomationElement.GetCurrentPropertyValue를 호출한 다음 반환된 개체를 적절한 형식으로 캐스팅하여 컨트롤 패턴의 속성 값을 검색할 수 있습니다. UI Automation 속성에 대한 자세한 내용은 클라이언트의 UI 자동화 속성를 참조하십시오.

GetPropertyValue 메서드 외에도 common language runtime (CLR) 접근자를 통해 패턴의 UI Automation 속성에 액세스하여 속성 값을 검색할 수 있습니다.

가변 패턴이 있는 컨트롤

일부 컨트롤 형식은 컨트롤의 상태나 컨트롤의 사용 방법에 따라 다양한 패턴을 지원합니다. 가변 패턴을 가질 수 있는 컨트롤에는 목록 뷰(미리 보기, 큰 아이콘, 아이콘, 간단히, 자세히), Microsoft Excel 차트(원형, 꺾은선형, 막대형, 수식이 포함된 셀 값), Microsoft Word의 문서 영역(기본, 웹 모양, 개요, 인쇄 모양, 인쇄 미리 보기), Microsoft Windows Media Player 스킨이 있습니다.

사용자 지정 컨트롤 형식을 구현하는 컨트롤은 컨트롤의 기능을 나타내는 데 필요한 모든 컨트롤 패턴을 가질 수 있습니다.

참고 항목

작업

UI 자동화를 사용하여 컨트롤 호출

UI 자동화를 사용하여 확인란의 전환 상태 가져오기

ValuePattern Insert Text Sample

TextPattern Search and Selection Sample

InvokePattern, ExpandCollapsePattern, and TogglePattern Sample

개념

UI 자동화 클라이언트에 대한 컨트롤 패턴 매핑

기타 리소스

UI 자동화 컨트롤 패턴

UI 자동화 텍스트 패턴