UI 자동화 Window 컨트롤 패턴 구현
참고 항목
이 설명서는 System.Windows.Automation 네임스페이스에 정의된 관리되는 UI 자동화 클래스를 사용하려는 .NET Framework 개발자를 위한 것입니다. UI 자동화에 대한 최신 정보는 Windows 자동화 API: UI 자동화를 참조하세요.
이 항목에서는 IWindowProvider속성, 메서드 및 이벤트에 대한 정보를 포함하여 WindowPattern 를 구현하기 위한 지침 및 규칙을 제공합니다. 추가 참조에 대한 링크는 항목 끝에 나열되어 있습니다.
WindowPattern 컨트롤 패턴은 기존의 GUI(그래픽 사용자 인터페이스) 내에서 창을 기준으로 하는 기본적인 기능을 제공하는 컨트롤을 제공하는 데 사용됩니다. 이 컨트롤 패턴을 구현해야 하는 컨트롤의 예로는 최상위 애플리케이션 창, MDI(다중 문서 인터페이스) 자식 창, 컨트롤 크기 조정 가능한 분할 창 컨트롤, 모달 대화 상자 및 풍선 도움말 창이 있습니다.
구현 지침 및 규칙
Window 컨트롤 패턴을 구현할 때는 다음 지침 및 규칙에 유의하세요.
UI 자동화를 사용하여 창의 크기와 화면 위치를 수정하는 기능을 지원하려면 컨트롤이 ITransformProvider 외에 IWindowProvider를 구현해야 합니다.
컨트롤을 이동, 크기 조정, 최대화, 최소화 또는 닫을 수 있도록 하는 제목 표시줄 및 제목 표시줄 요소가 포함된 컨트롤은 일반적으로 IWindowProvider를 구현해야 합니다.
도구 설명 팝업 및 콤보 상자 또는 메뉴 드롭다운 등과 같은 컨트롤을 일반적으로 IWindowProvider를 구현하지 않습니다.
창과 같이 닫기 단추를 제공하는 풍선 도움말 창은 기본적인 도구 설명 팝업과는 구별됩니다.
전체 화면 모드는 애플리케이션에서 기능별로 다르며 일반적인 창 동작이 아니므로 IWindowProvider에서 지원되지 않습니다.
IWindowProvider에 필요한 멤버
IWindowProvider 인터페이스에는 다음과 같은 속성, 메서드 및 이벤트가 필요합니다.
필요한 멤버 | 멤버 형식 | 주의 |
---|---|---|
InteractionState | 속성 | None |
IsModal | 속성 | None |
IsTopmost | 속성 | None |
Maximizable | 속성 | None |
Minimizable | 속성 | None |
VisualState | 속성 | None |
Close | 메서드 | None |
SetVisualState | 메서드 | None |
WaitForInputIdle | 메서드 | None |
WindowClosedEvent | 이벤트 | None |
WindowOpenedEvent | 이벤트 | None |
WindowInteractionState | 이벤트 | ReadyForUserInteraction |
예외
공급자는 다음과 같은 예외를 throw해야 합니다.
예외 종류 | 조건 |
---|---|
InvalidOperationException | SetVisualState - 컨트롤이 요청된 동작을 지원하지 않는 경우 |
ArgumentOutOfRangeException | WaitForInputIdle - 매개 변수가 유효한 값이 아닌 경우 |