Implementering av UI Automation-fönsterkontrollmönster

Anmärkning

Den här dokumentationen är avsedd för .NET Framework-utvecklare som vill använda de hanterade UI Automation-klasserna som definierats i System.Windows.Automation namnrymd. Den senaste informationen om UI Automation finns i Windows Automation API: UI Automation.

Det här avsnittet innehåller riktlinjer och konventioner för att implementera IWindowProvider, inklusive information om WindowPattern egenskaper, metoder och händelser. Länkar till ytterligare referenser visas i slutet av ämnet.

Kontrollmönstret WindowPattern används för att stödja kontroller som tillhandahåller grundläggande fönsterbaserade funktioner i ett traditionellt grafiskt användargränssnitt (GUI). Exempel på kontroller som måste implementera det här kontrollmönstret är programfönster på den översta nivån, underordnade MDI-fönster (multiple-document interface), storleksbara kontroller för delade fönster, modala dialogrutor och pratbubblans hjälpfönster.

Riktlinjer och konventioner för implementering

Observera följande riktlinjer och konventioner när du implementerar mönster för fönsterkontroll:

  • För att kunna ändra både fönsterstorlek och skärmposition med hjälp av UI Automation måste en kontroll implementeras ITransformProvider utöver IWindowProvider.

  • Kontroller som innehåller rubrikstaplar och element i namnlisten som gör att kontrollen kan flyttas, storleksändras, maximeras, minimeras eller stängas krävs vanligtvis för att implementera IWindowProvider.

  • Kontroller såsom popup-fönster med knappbeskrivningar och listrutor för kombinationslistor eller menyer implementerar vanligtvis inte IWindowProvider.

  • Pratbubbelfönster skiljer sig från grundläggande verktygstips-popups genom att ha en fönsterliknande stängningsknapp.

  • Helskärmsläge stöds inte av IWindowProvider eftersom det är funktionsspecifikt för ett program och inte är typiskt fönsterbeteende.

Obligatoriska medlemmar för IWindowProvider

Följande egenskaper, metoder och händelser krävs för gränssnittet IWindowProvider.

Obligatorisk medlem Medlemstyp Noteringar
InteractionState Fastighet Ingen
IsModal Fastighet Ingen
IsTopmost Fastighet Ingen
Maximizable Fastighet Ingen
Minimizable Fastighet Ingen
VisualState Fastighet Ingen
Close Metod Ingen
SetVisualState Metod Ingen
WaitForInputIdle Metod Ingen
WindowClosedEvent Evenemang Ingen
WindowOpenedEvent Evenemang Ingen
WindowInteractionState Evenemang Är inte garanterat att vara ReadyForUserInteraction

Undantag

Leverantörer måste utlösa följande undantag.

Undantagstyp Tillstånd
InvalidOperationException SetVisualState

– När en kontroll inte stöder ett begärt beteende.
ArgumentOutOfRangeException WaitForInputIdle

– När parametern inte är ett giltigt tal.

Se även