Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.
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 wzornika kolorów
- Kontrolka powinna mieć wartość IsEnabledProperty ustawioną na
trueoraz wartość IsReadOnlyProperty ustawioną nafalseprzed zezwoleniem na wywołanie SetValue.
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
- Omówienie wzorców automatyzacji kontrolek interfejsu użytkownika
- obsługują wzorce kontrolek w dostawcy automatyzacji interfejsu użytkownika
- Wzorce kontrolek automatyzacji interfejsu użytkownika dla klientów
- ValuePattern, wstaw przykładowy tekst
- Omówienie drzewa automatyzacji interfejsu użytkownika
- Użyj buforowania w automatyzacji interfejsu użytkownika