다음을 통해 공유


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

- 매개 변수가 유효한 값이 아닌 경우

참고 항목