프로그래밍 기술/소프트웨어 접근성, UI 자동화

[S/W 접근성] DockPattern

언제나휴일 2016. 4. 19. 14:02
반응형

5.2 각 패턴 별 속성 및 메서드

 

 UI 자동화 평가 도구나 보조 기술 등을 만들 때는 자동화 요소의 컨트롤 패턴에 따라 프로그램 방식으로 상태를 얻어오거나 변경 및 제어합니다.

 

 UI 자동화 기술에서는 컨트롤을 사용할 수 있는 기능에 따라 컨트롤 패턴을 클래스로 정의하여 패턴마다 메서드, 속성, 이벤트 등을 제공하고 있습니다.

 

 각각의 컨트롤 패턴 클래스에서는 Current Cached 속성으로 각 패턴 정보 구조체를 제공하고 있어서 필요한 정보를 얻어올 수 있습니다.

 

 그리고 각 패턴 클래스에서는 정적 필드로 자동화 패턴과 자동화 속성을 제공하여 자동화 요소 개체의 GetCurrentPropertyValue 메서드나 GetCurrentPattern 메서드를 호출할 때 입력 인자로 전달할 자동화 패턴과 자동화 속성을 제공하고 있습니다. 이를 통해 원하는 패턴의 속성 값과 패턴 개체를 참조할 수 있습니다.

 

 여기에서는 컨트롤 패턴에 따라 속성과 메서드 등을 살펴보기로 합시다.

 

5.2.1 DockPattern

 

 DockPattern 클래스는 컨테이너의 원하는 위치에 도킹 하거나 DockPosition 속성을 통해 도킹 위치를 확인할 수 있습니다.

 

System.Object
  
System.Windows.Automation.BasePattern
    System.Windows.Automation.DockPattern

네임스페이스:  System.Windows.Automation
어셈블리:  UIAutomationClient(UIAutomationClient.dll)

 

 DockPattern Current Cached 속성으로 DockPatternInformation 구조체를 접근할 수 있습니다. 그리고 DockPatternInformation 구조체에는 DockPosition 속성이 있어 도킹 위치를 확인할 수 있습니다.

 

열거형 멤버

설명

Bottom

아래쪽 가장자리에 도킹

Fill

모든 여유 공간을 채움

Left

왼쪽 가장자리에 도킹

None

도킹하지 않음

Right

오른쪽 가장자리에 도킹

Top

위쪽 가장자리에 도킹

   [ 5.3] DockPostion 열거형 멤버

 

 DockPattern 클래스는 SetDockPosition 메서드를 제공하고 있어 도킹 위치를 정할 수 있습니다.

public void SetDockPosition( DockPosition dp);

 

 그리고 정적 멤버 필드인 DockPositionProerty Pattern을 제공하여 DockPostion 속성을 식별하거나 DockPattern인지 식별할 수 있습니다.

 

 다음은 자동화 요소 개체를 참조하는 ae 변수의 GetCurrentPropertyValue 메서드에 DockPattern 클래스의 정적 멤버 필드 DockPositionPropery를 전달해 DockPosition 값을 얻어오는 코드입니다.

AutomationElement ae = null;

...중략...

DockPositon dp = (DockPosition) ae.GetCurrentPropertyValue(DockPattern.DockPositionProperty);

 

 다음은 자동화 요소 개체를 참조하는 변수 ae GetCurrentPattern 메서드에 DockPattern 클래스의 정적 멤버 필드 Pattern을 입력 인자로 전달하여 DockPattern 개체를 참조하는 코드입니다.

 

AutomationElement ae = null;

...중략...

DockPattern dockPattern = null;

try

{

    dockPattern =ae.GetCurrentPattern( DockPattern.Pattern) as DockPattern;

}

catch 

{

}

 

 

 

 


반응형