비고
이 설명서는 System.Windows.Automation 네임스페이스에 정의된 관리되는 UI 자동화 클래스를 사용하려는 .NET Framework 개발자를 위한 것입니다. UI 자동화에 대한 최신 정보는 Windows Automation API: UI 자동화참조하세요.
이 항목에서는 메뉴 컨트롤 형식에 대한 Microsoft UI 자동화 지원에 대한 정보를 제공합니다. 컨트롤의 Microsoft UI 자동화 트리 구조를 설명하고 특정 컨트롤 시나리오에 대한 속성 및 컨트롤 패턴을 제공합니다.
메뉴 컨트롤은 명령 및 이벤트 처리기와 연결된 요소의 계층적 구성을 허용합니다. 일반적인 Microsoft Windows 응용 프로그램에서 메뉴 모음에는 여러 메뉴 단추(예: 파일, 편집 및 창)가 포함되어 있으며 각 메뉴 단추에는 메뉴가 표시됩니다. 메뉴에는 추가 메뉴 항목을 표시하거나 클릭할 때 특정 작업을 수행하도록 확장할 수 있는 메뉴 항목 모음(예: 새, 열기및 닫기)이 포함되어 있습니다.
다음 섹션에서는 메뉴 컨트롤 형식에 필요한 UI 자동화 트리 구조, 속성, 컨트롤 패턴 및 이벤트를 정의합니다. UI 자동화 요구 사항은 WPF(Windows Presentation Foundation), Win32 또는 Windows Forms 등 모든 목록 컨트롤에 적용됩니다.
필수 UI 자동화 트리 구조
다음 표에서는 메뉴 컨트롤과 관련된 UI 자동화 트리의 컨트롤 뷰 및 콘텐츠 뷰를 보여 줍니다. 각 보기에 포함할 수 있는 항목에 대해 설명합니다. UI 자동화 트리에 대한 자세한 내용은 UI 자동화 트리 개요를 참조하세요.
| 컨트롤 뷰 | 콘텐츠 보기 |
|---|---|
| 메뉴 - 메뉴 항목 (1개 이상) |
해당 없음(메뉴 컨트롤이 메뉴 항목이 아닌 개체의 부모인 상황에 맞는 메뉴일 경우가 아닌 한) - 메뉴 항목 (1개 이상) |
메뉴 컨트롤은 항상 UI 자동화 트리의 컨트롤 뷰 및 콘텐츠 뷰에 나타납니다. 메뉴 컨트롤 형식은 해당 정보가 참조하는 컨트롤 아래에 표시되어야 합니다. UI 자동화 클라이언트는 메뉴 컨트롤에서 MenuOpenedEvent 전달된 정보를 일관되게 얻을 수 있도록 수신 대기해야 합니다. 상황에 맞는 메뉴 컨트롤은 특별한 경우입니다. 바탕 화면의 자식으로 나타납니다.
필수 UI 자동화 속성
다음 표에서는 값 또는 정의가 메뉴 컨트롤 형식과 특히 관련된 UI 자동화 속성을 나열합니다. UI 자동화 속성에 대한 자세한 내용은 클라이언트용 UI 자동화 속성을 참조하세요.
| UI 자동화 속성 | 가치 | 비고 |
|---|---|---|
| NameProperty | 지원되지 않음 | 메뉴 컨트롤에는 Name 속성을 설정할 필요가 없습니다. |
| LabeledByProperty | Null |
일반적인 메뉴 컨트롤에는 레이블이 예상되지 않습니다. |
| ControlTypeProperty | 메뉴 | 이 값은 모든 UI 프레임워크에 대해 동일합니다. |
| IsContentElementProperty | 거짓 | 메뉴 컨트롤은 UI 자동화 트리의 콘텐츠 보기에 포함되지 않습니다. |
| IsControlElementProperty | 진실 | 메뉴 컨트롤은 항상 UI 자동화 트리의 컨트롤 뷰에 포함됩니다. |
필수 UI 자동화 컨트롤 패턴
메뉴 컨트롤 형식에는 필수 컨트롤 패턴이 없습니다.
필수 UI 자동화 이벤트
메뉴 컨트롤이 화면에 표시되면 MenuOpenedEvent 이벤트를 발생시켜야 합니다. 컨트롤 MenuOpenedEvent 의 텍스트가 포함됩니다.
MenuClosedEvent 화면에서 메뉴가 사라지면 반드시 발생시켜야 합니다.
다음 표에서는 모든 메뉴 컨트롤에서 지원하는 데 필요한 UI 자동화 이벤트를 나열합니다. 이벤트에 대한 자세한 내용은 UI 자동화 이벤트 개요참조하세요.
| UI 자동화 이벤트 | 지원/값 | 비고 |
|---|---|---|
| MenuOpenedEvent | 필수 | 없음 |
| MenuClosedEvent | 필수 | 없음 |
| BoundingRectangleProperty 속성 변경 이벤트입니다. | 필수 | 없음 |
| IsOffscreenProperty 속성 변경 이벤트입니다. | 필수 | 없음 |
| IsEnabledProperty 속성 변경 이벤트입니다. | 필수 | 없음 |
| AutomationFocusChangedEvent | 필수 | 없음 |
| StructureChangedEvent | 필수 | 없음 |