Delen via


Overzicht van UI Automation-besturingspatronen

Notitie

Deze documentatie is bedoeld voor .NET Framework-ontwikkelaars die de beheerde UI Automation-klassen willen gebruiken die zijn gedefinieerd in de System.Windows.Automation naamruimte. Zie Windows Automation-API: UI Automation voor de meest recente informatie over UI Automation.

In dit overzicht worden microsoft UI Automation-besturingspatronen geïntroduceerd. Besturingspatronen bieden een manier om de functionaliteit van een besturingselement te categoriseren en beschikbaar te maken, onafhankelijk van het besturingselementtype of het uiterlijk van het besturingselement.

UI Automation maakt gebruik van besturingspatronen om veelvoorkomend besturingsgedrag weer te geven. U gebruikt bijvoorbeeld het besturingspatroon Aanroepen voor besturingselementen die kunnen worden aangeroepen (zoals knoppen) en het besturingspatroon Scroll voor besturingselementen met schuifbalken (zoals keuzelijsten, lijstweergaven of keuzelijsten met invoervak). Omdat elk besturingspatroon een afzonderlijke functionaliteit vertegenwoordigt, kunnen ze worden gecombineerd om de volledige set functionaliteiten te beschrijven die door een bepaald besturingselement worden ondersteund.

Notitie

Aggregatiebesturingselementen, gebouwd met onderliggende besturingselementen die de gebruikersinterface (UI) bieden voor functionaliteit die door het bovenliggende element wordt weergegeven, moeten alle besturingspatronen implementeren die normaal gesproken aan elk onderliggend besturingselement zijn gekoppeld. Op zijn beurt hoeven diezelfde besturingspatronen niet door de onderliggende besturingselementen te worden geïmplementeerd.

UI Automation Control Pattern Components

Controlepatronen ondersteunen de methoden, eigenschappen, gebeurtenissen en relaties die nodig zijn om een discreet stukje functionaliteit te definiëren dat beschikbaar is in een besturingselement.

  • De relatie tussen een UI Automation-element en het bovenliggende element, onderliggende elementen en broers en zussen beschrijft de structuur van het element in de UI Automation-structuur.

  • Met de methoden kunnen UI Automation-clients het besturingselement bewerken.

  • De eigenschappen en gebeurtenissen bieden informatie over de functionaliteit van het besturingspatroon en informatie over de status van het besturingselement.

Controlepatronen hebben betrekking op de gebruikersinterface als interfaces betrekking hebben op COM-objecten (Component Object Model). In COM kunt u een query uitvoeren op een object om te vragen welke interfaces het ondersteunt en deze interfaces vervolgens te gebruiken voor toegang tot functionaliteit. In UI Automation kunnen UI Automation-clients een besturingselement vragen welke besturingspatronen het ondersteunt en vervolgens communiceren met het besturingselement via de eigenschappen, methoden, gebeurtenissen en structuren die worden weergegeven door de ondersteunde besturingspatronen. Voor een invoervak met meerdere regels implementeren IScrollProviderUI Automation-providers bijvoorbeeld . Wanneer een client weet dat een AutomationElement ondersteuning biedt voor het ScrollPattern besturingspatroon, kan deze gebruikmaken van de eigenschappen, methoden en gebeurtenissen die door dat besturingspatroon worden weergegeven om het besturingselement te bewerken of toegang te krijgen tot informatie over het besturingselement.

UI Automation-providers en -clients

UI Automation-providers implementeren controlepatronen om het juiste gedrag beschikbaar te maken voor een specifiek onderdeel van de functionaliteit die wordt ondersteund door het besturingselement.

UI Automation-clients hebben toegang tot methoden en eigenschappen van ui Automation-besturingspatroonklassen en gebruiken ze om informatie over de gebruikersinterface op te halen of om de gebruikersinterface te manipuleren. Deze besturingspatroonklassen zijn te vinden in de System.Windows.Automation naamruimte (bijvoorbeeld InvokePattern en SelectionPattern).

Clients gebruiken AutomationElement methoden (zoals AutomationElement.GetCurrentPropertyValue of AutomationElement.GetCachedPropertyValue) of de CLR-toegangsors (Common Language Runtime) voor toegang tot de eigenschappen van UI Automation op een patroon. Elke besturingspatroonklasse heeft een veldlid (bijvoorbeeld InvokePattern.Pattern of SelectionPattern.Pattern) waarmee wordt aangegeven dat besturingspatroon en kan worden doorgegeven als een parameter aan GetCachedPattern of GetCurrentPattern om dat patroon voor een AutomationElementop te halen.

Dynamische besturingspatronen

Sommige besturingselementen ondersteunen niet altijd dezelfde set besturingspatronen. Controlepatronen worden als ondersteund beschouwd wanneer ze beschikbaar zijn voor een UI Automation-client. Met een invoervak met meerdere regels kunt u bijvoorbeeld alleen verticaal schuiven wanneer het meer regels tekst bevat dan in het leesbare gebied kan worden weergegeven. Schuiven is uitgeschakeld wanneer er voldoende tekst wordt verwijderd, zodat schuiven niet meer nodig is. In dit voorbeeld wordt het besturingselement ScrollPattern dynamisch ondersteund, afhankelijk van de huidige status van het besturingselement (hoeveel tekst zich in het invoervak bevindt).

Patroonklassen en interfaces beheren

In de volgende tabel worden de ui Automation-besturingspatronen beschreven. De tabel bevat ook de klassen die door UI Automation-clients worden gebruikt voor toegang tot de besturingspatronen, evenals de interfaces die door UI Automation-providers worden gebruikt om ze te implementeren.

Besturingselementpatroonklasse Providerinterface Beschrijving
DockPattern IDockProvider Wordt gebruikt voor besturingselementen die kunnen worden gedokt in een dockingcontainer. Bijvoorbeeld werkbalken of toolpaletten.
ExpandCollapsePattern IExpandCollapseProvider Wordt gebruikt voor besturingselementen die kunnen worden uitgevouwen of samengevouwen. Bijvoorbeeld menu-items in een toepassing, zoals het menu Bestand .
GridPattern IGridProvider Wordt gebruikt voor besturingselementen die ondersteuning bieden voor rasterfunctionaliteit, zoals het aanpassen van de grootte en het verplaatsen naar een opgegeven cel. Bijvoorbeeld de grote pictogramweergave in Windows Verkenner of eenvoudige tabellen zonder kopteksten in Microsoft Word.
GridItemPattern IGridItemProvider Wordt gebruikt voor besturingselementen met cellen in rasters. De afzonderlijke cellen moeten het GridItem-patroon ondersteunen. Elke cel in de detailweergave van Microsoft Windows Verkenner.
InvokePattern IInvokeProvider Wordt gebruikt voor besturingselementen die kunnen worden aangeroepen, zoals een knop.
MultipleViewPattern IMultipleViewProvider Wordt gebruikt voor besturingselementen die kunnen schakelen tussen meerdere weergaven van dezelfde set gegevens, gegevens of onderliggende elementen. Een lijstweergave bepaalt bijvoorbeeld waar gegevens beschikbaar zijn in miniatuurweergaven, tegels, pictogrammen, lijsten of detailweergaven.
RangeValuePattern IRangeValueProvider Wordt gebruikt voor besturingselementen met een reeks waarden die op het besturingselement kunnen worden toegepast. Een spinnerbesturing met jaren kan bijvoorbeeld een bereik van 1900 tot 2010 hebben, terwijl een andere spinnerbesturing die maanden presenteert, een bereik van 1 tot 12 heeft.
ScrollPattern IScrollProvider Wordt gebruikt voor besturingselementen die kunnen schuiven. Een besturingselement met schuifbalken die actief zijn wanneer er meer informatie is dan kan worden weergegeven in het weergavegebied van het besturingselement.
ScrollItemPattern IScrollItemProvider Wordt gebruikt voor besturingselementen met afzonderlijke items in een lijst die schuift. Een lijst besturingselement met afzonderlijke items in de schuiflijst, zoals een besturingselement voor een keuzelijst met invoervak.
SelectionPattern ISelectionProvider Wordt gebruikt voor besturingselementen voor selectiecontainers. Bijvoorbeeld keuzelijsten en keuzelijsten met invoervak.
SelectionItemPattern ISelectionItemProvider Wordt gebruikt voor afzonderlijke items in selectiecontainerbesturingselementen, zoals keuzelijsten en keuzelijsten met invoervak.
TablePattern ITableProvider Wordt gebruikt voor besturingselementen met een raster en headergegevens. Bijvoorbeeld Microsoft Excel-werkbladen.
TableItemPattern ITableItemProvider Wordt gebruikt voor items in een tabel.
TextPattern ITextProvider Wordt gebruikt voor het bewerken van besturingselementen en documenten die tekstuele informatie beschikbaar maken.
TogglePattern IToggleProvider Wordt gebruikt voor besturingselementen waar de status kan worden in- of uitgeschakeld. Bijvoorbeeld selectievakjes en controleerbare menu-items.
TransformPattern ITransformProvider Wordt gebruikt voor besturingselementen die kunnen worden aangepast, verplaatst en gedraaid. Typische toepassingen voor het transformatiebeheerpatroon zijn ontwerpers, formulieren, grafische editors en tekentoepassingen.
ValuePattern IValueProvider Hiermee kunnen clients een waarde ophalen of instellen voor besturingselementen die geen bereik van waarden ondersteunen. Bijvoorbeeld een datum/tijdkiezer.
WindowPattern IWindowProvider Bevat informatie die specifiek is voor Windows, een fundamenteel concept voor het Microsoft Windows-besturingssysteem. Voorbeelden van besturingselementen die vensters zijn toepassingsvensters op het hoogste niveau (Microsoft Word, Microsoft Windows Verkenner, enzovoort), onderliggende vensters met meerdere documenten (MDI) en dialoogvensters.

Zie ook