Dela via


Implementera UI Automation-fönsterkontrollmönstret

Kommentar

Den här dokumentationen System.Windows.Automation är avsedd för .NET Framework-utvecklare som vill använda de hanterade UI Automation-klasserna som definierats i namnområdet. 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 som popup-fönster med knappbeskrivningar och listrutor för kombinationsrutor eller menyer implementerar IWindowProvidervanligtvis inte .

  • Pratbubblans hjälpfönster skiljer sig från grundläggande popup-fönster med knappbeskrivningar genom att en fönsterliknande stängningsknapp etableras.

  • 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 Kommentar
InteractionState Property Ingen
IsModal Property Ingen
IsTopmost Property Ingen
Maximizable Property Ingen
Minimizable Property Ingen
VisualState Property Ingen
Close Metod Ingen
SetVisualState Metod Ingen
WaitForInputIdle Metod Ingen
WindowClosedEvent Event Ingen
WindowOpenedEvent Event Ingen
WindowInteractionState Event Är inte garanterad att vara ReadyForUserInteraction

Undantag

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

Undantagstyp Villkor
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