Implementera UI Automation Value Control Pattern
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 IValueProvider, inklusive information om händelser och egenskaper. Länkar till ytterligare referenser visas i slutet av ämnet.
Kontrollmönstret ValuePattern används för att stödja kontroller som har ett inbyggt värde som inte sträcker sig över ett intervall och som kan representeras som en sträng. Den här strängen kan redigeras, beroende på kontrollen och dess inställningar. Exempel på kontroller som implementerar det här mönstret finns i Kontrollera mönstermappning för UI Automation-klienter.
Riktlinjer och konventioner för implementering
Observera följande riktlinjer och konventioner när du implementerar värdekontrollmönstret:
- Kontroller som ListItem och TreeItem måste stödja ValuePattern om värdet för något av objekten kan redigeras, oavsett kontrollens aktuella redigeringsläge. Den överordnade kontrollen måste också ha stöd ValuePattern för om de underordnade objekten kan redigeras.
Exempel på ett redigerbart listobjekt
Redigeringskontroller med en rad stöder programmatisk åtkomst till innehållet genom att implementera IValueProvider. Redigeringskontroller med flera rader implementerar IValueProviderdock inte . I stället ger de åtkomst till sitt innehåll genom att implementera ITextProvider.
Om du vill hämta textinnehållet i en redigeringskontroll med flera rader måste kontrollen implementera ITextProvider. Har dock ITextProvider inte stöd för att ange värdet för en kontroll.
IValueProvider stöder inte hämtning av formateringsinformation eller delsträngsvärden. Implementera ITextProvider i dessa scenarier.
IValueProvider måste implementeras med kontroller, till exempel markeringskontrollen för färgväljaren från Microsoft Word (visas nedan), som stöder strängmappning mellan ett färgvärde (till exempel "gul") och en motsvarande intern RGB-struktur.
Exempel på färgrutesträngsmappning
- En kontroll bör ha sin IsEnabledProperty inställd på
true
och dess IsReadOnlyProperty inställd påfalse
innan ett anrop tillåts till SetValue.
Obligatoriska medlemmar för IValueProvider
Följande egenskaper och metoder krävs för att implementera IValueProvider.
Obligatoriska medlemmar | Medlemstyp | Kommentar |
---|---|---|
IsReadOnlyProperty | Property | Ingen |
ValueProperty | Property | Ingen |
SetValue | Metod | Ingen |
Undantag
Leverantörer måste utlösa följande undantag.
Undantagstyp | Villkor |
---|---|
InvalidOperationException | SetValue – Om språkspecifik information skickas till en kontroll i ett felaktigt format, till exempel ett felaktigt formaterat datum. |
ArgumentException | SetValue – Om ett nytt värde inte kan konverteras från en sträng till ett format som kontrollen känner igen. |
ElementNotEnabledException | SetValue – När ett försök görs att manipulera en kontroll som inte är aktiverad. |