Udostępnij za pomocą


Implementowanie wzorca kontrolki wartości automatyzacji interfejsu użytkownika

Uwaga / Notatka

Ta dokumentacja jest przeznaczona dla deweloperów programu .NET Framework, którzy chcą używać zarządzanych klas automatyzacji interfejsu użytkownika zdefiniowanych w przestrzeni nazw System.Windows.Automation. Aby uzyskać najnowsze informacje na temat automatyzacji interfejsu użytkownika, zobacz Windows Automation API: Automatyzacja interfejsu użytkownika.

W tym temacie przedstawiono wytyczne i konwencje implementacji IValueProvider, w tym informacje o zdarzeniach i właściwościach. Linki do dodatkowych odwołań znajdują się na końcu tematu.

Wzorzec ValuePattern kontrolki jest używany do obsługi kontrolek, które mają wartość wewnętrzną, która nie obejmuje zakresu i które mogą być reprezentowane jako ciąg. Ten ciąg może być edytowalny, w zależności od kontrolki i jej ustawień. Aby zapoznać się z przykładami kontrolek implementujących ten wzorzec, zobacz Mapowanie wzorca sterowania dla klientów automatyzacji interfejsu użytkownika.

Wytyczne i konwencje implementacji

Podczas implementowania wzorca kontrolki Wartość należy pamiętać o następujących wytycznych i konwencjach:

  • Kontrolki takie jak ListItem i TreeItem muszą obsługiwać ValuePattern , jeśli wartość dowolnego elementu jest edytowalna, niezależnie od bieżącego trybu edycji kontrolki. Kontrolka nadrzędna musi również obsługiwać ValuePattern, jeśli można edytować elementy podrzędne.

Edytowalny element listy. Przykład edytowalnego elementu listy

  • Kontrolki edycji jednowierszowej obsługują programowy dostęp do ich zawartości przez zaimplementowanie elementu IValueProvider. Jednak kontrolki edycji wielowierszowej nie implementują IValueProvider; zamiast tego zapewniają one dostęp do zawartości przez zaimplementowanie elementu ITextProvider.

  • Aby pobrać zawartość tekstową kontrolki edycji wielowierszowej, kontrolka musi zaimplementować element ITextProvider. ITextProvider Nie obsługuje jednak ustawiania wartości kontrolki.

  • IValueProvider program nie obsługuje pobierania informacji o formatowaniu ani wartości podciągów. Zaimplementuj ITextProvider w tych scenariuszach.

  • IValueProvider należy zaimplementować za pomocą kontrolek, takich jak kontrolka selektora kolorów z programu Microsoft Word (zilustrowana poniżej), która obsługuje mapowanie ciągów między wartością koloru (na przykład "żółtym") i równoważną wewnętrzną strukturą RGB.

Selektor kolorów z żółtym podświetleniem. Przykład mapowania ciągu wzornika kolorów

Wymagane elementy członkowskie dla elementu IValueProvider

Następujące właściwości i metody są wymagane do zaimplementowania IValueProvider.

Wymagani członkowie Typ członkostwa Notatki
IsReadOnlyProperty Majątek Żaden
ValueProperty Majątek Żaden
SetValue Metoda Żaden

Wyjątki

Dostawcy muszą zgłaszać następujące wyjątki.

Typ wyjątku Warunek
InvalidOperationException SetValue

— Jeśli informacje specyficzne dla ustawień regionalnych są przekazywane do kontrolki w nieprawidłowym formacie, takim jak niepoprawnie sformatowana data.
ArgumentException SetValue

— Jeśli nie można przekonwertować nowej wartości z ciągu na format rozpoznawany przez kontrolkę.
ElementNotEnabledException SetValue

— Po podjęciu próby manipulowania kontrolką, która nie jest włączona.

Zobacz także