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.
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.
Przykład mapowania ciągu próbki kolorów
- Kontrolka powinna mieć ustawioną IsEnabledProperty wartość i jej IsReadOnlyProperty ustawioną
false
true
wartość przed zezwoleniem na wywołanie metody SetValue.
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ż
- Wzorce kontrolek automatyzacji interfejsu użytkownika — omówienie
- Obsługa wzorców kontrolek dostawcy automatyzacji interfejsu użytkownika
- Wzorce kontrolek automatyzacji interfejsu użytkownika dla klientów
- ValuePattern, wstaw przykładowy tekst
- Przegląd drzewa automatyzacji interfejsu użytkownika
- Używanie buforowania w automatyzacji interfejsu użytkownika