Implementieren des Value-Steuerelementmusters der Benutzeroberflächenautomatisierung
Hinweis
Diese Dokumentation ist für .NET Framework-Entwickler konzipiert, die die verwalteten Klassen zur Automatisierung der Benutzeroberfläche verwenden möchten, die im Namespace System.Windows.Automation definiert sind. Aktuelle Informationen zur Automatisierung der Benutzeroberfläche finden Sie auf der Seite zur Windows-Automatisierungs-API: Benutzeroberflächenautomatisierung.
Dieses Thema enthält Richtlinien und Konventionen für das Implementieren von IValueProvider, einschließlich Informationen zu Ereignissen und Eigenschaften. Links zu zusätzlichen Referenzen sind am Ende dieses Themas aufgelistet.
Das ValuePattern -Steuerelementmuster wird verwendet, um Steuerelemente zu unterstützen, die einen systeminternen Wert haben, der keinen Bereich umfasst und als Zeichenfolge dargestellt werden kann. Diese Zeichenfolge kann je nach Steuerelement und dessen Einstellungen bearbeitet werden. Beispiele für Steuerelemente, die dieses Muster implementieren, finden Sie unter Control Pattern Mapping for UI Automation Clients.
Implementierungsrichtlinien und -konventionen
Beachten Sie beim Implementieren des Value-Steuerelementmusters die folgenden Richtlinien und Konventionen:
- Steuerelemente wie ListItem und TreeItem müssen, unabhängig vom aktuellen Bearbeitungsmodus des Steuerelements, ValuePattern unterstützen, wenn der Wert irgendeines der Elemente bearbeitet werden kann. Das übergeordnete Steuerelement muss außerdem ValuePattern unterstützen, wenn die untergeordneten Elemente bearbeitbar sind.
Beispiel eines bearbeitbaren Listenelements
Einzeilige Bearbeitungssteuerelemente unterstützen programmgesteuerten Zugriff auf ihren Inhalt, indem IValueProviderfür sie implementiert wird. Für mehrzeilige Bearbeitungssteuerelemente wird IValueProviderjedoch nicht implementiert. Stattdessen wird Zugriff auf ihre Inhalte geboten, indem ITextProviderfür sie implementiert wird.
Um den Textinhalt eines mehrzeiligen Bearbeitungssteuerelements abzurufen, muss ITextProviderfür das Steuerelement implementiert sein. ITextProvider bietet aber nicht die Möglichkeit, den Wert eines Steuerelements festzulegen.
MitIValueProvider ist es nicht möglich, Formatierungsinformationen oder Teilzeichenfolgen abzurufen. Implementieren Sie ITextProvider in diesen Fällen.
IValueProvider muss für Steuerelemente wie z. B. das Auswahlsteuerelement Farbwähler von Microsoft Word (unten dargestellt) implementiert werden. Hierdurch werden Zeichenfolgenzuordnungen zwischen einem Farbwert (beispielsweise „Gelb“) und der entsprechenden RGB-Struktur unterstützt.
Beispiel für eine Zuordnung zwischen Farbmustern und Zeichenfolgen
- Für ein Steuerelement sollte dessen IsEnabledProperty auf
true
und dessen IsReadOnlyProperty auffalse
festgelegt sein, bevor ein Aufruf von SetValuezugelassen wird.
Erforderliche Member für IValueProvider
Die folgenden Eigenschaften und Methoden sind für das Implementieren von IValueProvidererforderlich.
Erforderliche Member | Memberart | Hinweise |
---|---|---|
IsReadOnlyProperty | Eigenschaft | Keine |
ValueProperty | Eigenschaft | Keine |
SetValue | Methode | Keine |
Ausnahmen
Anbieter müssen die folgenden Ausnahmen auslösen.
Ausnahmetyp | Bedingung |
---|---|
InvalidOperationException | SetValue – Wenn gebietsschemaspezifische Informationen in einem falschen Format, etwa als falsch formatiertes Datum, an ein Steuerelement übergeben werden. |
ArgumentException | SetValue – Wenn ein neuer Wert nicht aus einer Zeichenfolge in ein Format konvertiert werden kann, das vom Steuerelement erkannt wird. |
ElementNotEnabledException | SetValue – Wenn versucht wird, ein nicht aktiviertes Steuerelement zu bearbeiten. |
Siehe auch
- Übersicht über Steuerelementmuster für Benutzeroberflächenautomatisierung
- Unterstützung von Steuerelementmustern in einem Benutzeroberflächenautomatisierungs-Anbieter
- Steuerelementmuster für Benutzeroberflächenautomatisierung für Clients
- Beispiel für Einfügen von Text mit ValuePattern
- Übersicht über die Benutzeroberflächenautomatisierungs-Struktur
- Verwenden der Zwischenspeicherung in der Benutzeroberflächenautomatisierung