Wzorzec kontrolki wartości
Opisuje wytyczne i konwencje implementowania IValueProvider, w tym informacje o właściwościach i metodach. Wzorzec kontrolki Value służy do obsługi kontrolek, które mają wartość wewnętrzną, która nie obejmuje zakresu i które mogą być reprezentowane jako ciąg.
Ciąg wartości może być edytowalny, w zależności od kontrolki i jej ustawień. Aby zapoznać się z przykładami kontrolek implementujących ten wzorzec kontrolki, zobacz typy kontrolek i obsługiwane wzorce kontrolek.
Ten temat zawiera następujące sekcje.
Wytyczne i konwencje implementacji
Podczas implementowania wzorca kontrolki Value należy pamiętać o następujących wytycznych i konwencjach:
Kontrolki, takie jak element listy lub element drzewa, muszą obsługiwać wzorzec kontrolki wartość, jeśli wartość dowolnego elementu jest edytowalna, niezależnie od bieżącego trybu edycji kontrolki. Kontrolka nadrzędna musi również obsługiwać wzorzec kontrolki wartości, jeśli elementy podrzędne są edytowalne. Na poniższej ilustracji przedstawiono przykład edytowalnego elementu listy.
ilustracja
edytowalnego elementu listy
Kontrolki edycji pojedynczej i wielowierszowej muszą implementować ITextProvider, aby uwidocznić zawartość tylko do odczytu.
Kontrolki edycji wielowierszowej muszą implementować IValueProvider, jeśli można zmienić ich zawartość.
IValueProvider nie obsługuje pobierania informacji formatowania ani wartości podciągów. W tych scenariuszach zaimplementuj ITextProvider.
IValueProvider należy zaimplementować za pomocą kontrolek, takich jak kontrolka wyboru selektora kolorów z programu Microsoft Word (zobacz poniższą ilustrację), która obsługuje mapowanie ciągów między wartością koloru (na przykład "żółtym") i równoważną wartością wewnętrzną RGB.
Kontrolka powinna mieć właściwość IsEnabled ustawioną na true i jej właściwość ITextProvider::IsReadOnly ustawioną na FALSE przed zezwoleniem wywołaniu ITextProvider::SetValue.
Wymagane elementy członkowskie IValueProvider
Następujące właściwości i metody są wymagane do zaimplementowania interfejsu IValueProvider.
Wymagane elementy członkowskie | Typ elementu członkowskiego | Notatki |
---|---|---|
IsReadOnly | Własność | Żaden |
wartości | Własność | Żaden |
SetValue | Metoda | Żaden |
Ten wzorzec kontrolki nie ma skojarzonych zdarzeń.
Tematy pokrewne
-
Wzorce kontrolek automatyzacji interfejsu użytkownika — omówienie
-
wzorce kontrolek Text And TextRange