Implementacja wzorca formantu wartości automatyzacji interfejsu użytkownika

Uwaga

Ta dokumentacja jest przeznaczona dla deweloperów programu .NET Framework, którzy chcą używać zarządzanych klas automatyzacja interfejsu użytkownika zdefiniowanych w System.Windows.Automation przestrzeni nazw. Aby uzyskać najnowsze informacje na temat automatyzacja interfejsu użytkownika, zobacz Interfejs API usługi Windows Automation: 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 kontrolek dla klientów automatyzacja 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 elementy podrzędne są edytowalne.

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 wyróżnionym żółtym kolorem. Przykład mapowania ciągu próbki kolorów

Wymagane elementy członkowskie dla elementu IValueProvider

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

Wymagane elementy członkowskie Typ elementu członkowskiego Uwagi
IsReadOnlyProperty Właściwości Brak
ValueProperty Właściwości Brak
SetValue Method Brak

Wyjątki

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

Typ wyjątku Stan
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 też