클라이언트용 UI 자동화 컨트롤 패턴UI Automation Control Patterns for Clients

참고

이 설명서는 UI 자동화UI Automation 네임스페이스에 정의된 관리되는 System.Windows.Automation 클래스를 사용하려는 .NET Framework 개발자를 위한 것입니다.This documentation is intended for .NET Framework developers who want to use the managed UI 자동화UI Automation classes defined in the System.Windows.Automation namespace. UI 자동화UI Automation에 대한 최신 정보는 Windows 자동화 API: UI 자동화를 참조하세요.For the latest information about UI 자동화UI Automation, see Windows Automation API: UI Automation.

이 개요에서는 UI 자동화 클라이언트에 대한 컨트롤 패턴을 소개합니다.This overview introduces control patterns for UI Automation clients. UI 자동화 클라이언트에서 컨트롤 패턴을 사용하여 UI(사용자 인터페이스)user interface (UI)에 대한 정보에 액세스하는 방법도 소개합니다.It includes information on how a UI Automation client can use control patterns to access information about the UI(사용자 인터페이스)user interface (UI).

컨트롤 패턴은 컨트롤 형식 및 컨트롤의 모양에 관계없이 컨트롤의 기능을 분류하고 노출하는 방법을 제공합니다.Control patterns provide a way to categorize and expose a control's functionality independent of the control type or the appearance of the control. UI 자동화 클라이언트는 AutomationElement 를 검사하여 지원되는 컨트롤 패턴을 확인하고 컨트롤의 동작을 보장할 수 있습니다.UI Automation clients can examine an AutomationElement to determine which control patterns are supported and be assured of the behavior of the control.

컨트롤 패턴의 전체 목록은 UI Automation Control Patterns Overview를 참조하세요.For a complete list of control patterns, see UI Automation Control Patterns Overview.

컨트롤 패턴 가져오기Getting Control Patterns

클라이언트는 AutomationElement 또는 AutomationElement.GetCachedPattern 을 호출하여 AutomationElement.GetCurrentPattern에서 컨트롤 패턴을 검색합니다.Clients retrieve a control pattern from an AutomationElement by calling either AutomationElement.GetCachedPattern or AutomationElement.GetCurrentPattern.

클라이언트는 GetSupportedPatterns 메서드 또는 개별 IsPatternAvailable 속성(예: IsTextPatternAvailableProperty)을 사용하여 패턴이나 패턴 그룹이 AutomationElement에서 지원되는지 확인할 수 있습니다.Clients can use the GetSupportedPatterns method or an individual IsPatternAvailable property (for example, IsTextPatternAvailableProperty) to determine if a pattern or group of patterns is supported on the AutomationElement. 그러나 컨트롤 패턴을 가져오고 null 참조를 테스트하면 프로세스 간 호출을 줄일 수 있으므로 지원되는 속성을 확인하고 컨트롤 패턴을 검색하는 것보다 더 효율적입니다.However, it is more efficient to attempt to get the control pattern and test for a null reference than to check the supported properties and retrieve the control pattern since it results in fewer cross-process calls.

다음 예제에서는 TextPattern 에서 AutomationElement컨트롤 패턴을 가져오는 방법을 보여 줍니다.The following example demonstrates how to get a TextPattern control pattern from an AutomationElement.

// 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;
}

컨트롤 패턴에 대한 속성 검색Retrieving Properties on Control Patterns

클라이언트는 AutomationElement.GetCachedPropertyValue 또는 AutomationElement.GetCurrentPropertyValue 를 호출하고 적절한 형식으로 반환되는 개체를 캐스팅하여 컨트롤 패턴에 대한 속성 값을 검색할 수 있습니다.Clients can retrieve the property values on control patterns by calling either AutomationElement.GetCachedPropertyValue or AutomationElement.GetCurrentPropertyValue and casting the object returned to an appropriate type. UI 자동화UI Automation 속성에 대 한 자세한 내용은 클라이언트에 대 한 UI 자동화 속성을 참조 하세요.For more information on UI 자동화UI Automation properties, see UI Automation Properties for Clients.

GetPropertyValue 메서드 외에도 CLR (공용 언어 런타임) 접근자를 통해 속성 값을 검색 하 여 패턴의 UI 자동화UI Automation 속성에 액세스할 수 있습니다.In addition to the GetPropertyValue methods, property values can be retrieved through the common language runtime (CLR) accessors to access the UI 자동화UI Automation properties on a pattern.

가변 패턴을 사용하는 컨트롤Controls with Variable Patterns

일부 컨트롤 형식은 컨트롤의 상태 또는 컨트롤이 사용되는 방식에 따라 다양한 패턴을 지원합니다.Some control types support different patterns depending on their state or the manner in which the control is being used. 변수 패턴을 사용할 수 있는 컨트롤의 예로는 목록 보기 (미리 보기, 타일, 아이콘, 목록, 세부 정보), Microsoft Excel 차트 (원형, 꺾은선형, 가로 막대형, 수식이 있는 셀 값), Microsoft Word의 문서 영역 (기본, 웹 레이아웃, 개요, 인쇄 레이아웃, 인쇄)이 있습니다. Preview) 및 Microsoft Windows Media Player 스킨이 있습니다.Examples of controls that can have variable patterns are list views (thumbnails, tiles, icons, list, details), Microsoft Excel Charts (Pie, Line, Bar, Cell Value with a formula), Microsoft Word's document area (Normal, Web Layout, Outline, Print Layout, Print Preview), and Microsoft Windows Media Player skins.

사용자 지정 컨트롤 형식을 구현하는 컨트롤에는 해당 기능을 나타내는 데 필요한 컨트롤 패턴 집합이 있을 수 있습니다.Controls implementing custom control types can have any set of control patterns that are needed to represent their functionality.

참고 항목See also