Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Kontrolki tekstowe składają się z pól wejściowych tekstowych, pól haseł, pól automatycznego sugerowania i bloków tekstowych. Struktura XAML udostępnia kilka kontrolek renderowania, wprowadzania i edytowania tekstu oraz zestawu właściwości do formatowania tekstu.
- Kontrolki do wyświetlania tekstu tylko do odczytu to TextBlock i RichTextBlock.
- Kontrolki wprowadzania tekstu i edytowania to: TextBox, RichEditBox, AutoSuggestBox i PasswordBox.
Ważne interfejsy API: Klasa TextBlock, klasa RichTextBlock, klasa TextBox, klasa RichEditBox, klasa AutoSuggestBox, klasa PasswordBox
Czy jest to właściwa kontrola?
Używana kontrolka tekstu zależy od scenariusza. Użyj tych informacji, aby wybrać odpowiednią kontrolkę tekstu do użycia w aplikacji.
Renderowanie tekstu tylko do odczytu
Użyj elementu TextBlock , aby wyświetlić większość tekstu tylko do odczytu w aplikacji. Można go użyć do wyświetlania tekstu jednowierszowego lub wielowierszowego, hiperlinków wbudowanych i tekstu z formatowaniem, takimi jak pogrubienie, kursywa lub podkreślenie.
Funkcja TextBlock jest zwykle łatwiejsza w użyciu i zapewnia lepszą wydajność renderowania tekstu niż RichTextBlock, dlatego jest to preferowane w przypadku większości tekstu interfejsu użytkownika aplikacji. Możesz łatwo uzyskać dostęp do tekstu i używać go z elementu TextBlock w aplikacji, uzyskując wartość właściwości Text .
Udostępnia również wiele z tych samych opcji formatowania w celu dostosowania sposobu renderowania tekstu. Mimo że można umieścić podziały wierszy w tekście, funkcja TextBlock jest przeznaczona do wyświetlania pojedynczego akapitu i nie obsługuje wcięcia tekstu.
Użyj RichTextBlock, gdy potrzebujesz obsługi wielu akapitów, tekstu wielokolumna lub innych złożonych układów tekstu lub wbudowanych elementów interfejsu użytkownika, takich jak obrazy. Funkcja RichTextBlock udostępnia kilka funkcji zaawansowanego układu tekstu.
Właściwość content obiektu RichTextBlock to właściwość Blocks, która obsługuje tekst sformatowany w akapitach za pośrednictwem elementu Paragraf. Nie ma właściwości Text , której można użyć, aby łatwo uzyskać dostęp do zawartości tekstowej kontrolki w aplikacji.
Wprowadzanie tekstu
Użyj kontrolki TextBox , aby umożliwić użytkownikowi wprowadzanie i edytowanie niesformatowanych tekstu, na przykład w formularzu. Możesz użyć właściwości Text , aby pobrać i ustawić tekst w polu tekstowym.
Można utworzyć pole tekstowe tylko do odczytu, ale powinno to być stan tymczasowy, warunkowy. Jeśli tekst nigdy nie jest edytowalny, rozważ użycie zamiast tego elementu TextBlock.
Użyj kontrolki PasswordBox , aby zebrać hasło lub inne dane prywatne, takie jak numer ubezpieczenia społecznego. Pole hasła to pole wprowadzania tekstu, które ukrywa w nim wpisane znaki ze względu na prywatność. Pole hasła wygląda jak pole do wprowadzania tekstu, z tą różnicą, że zamiast wprowadzonego tekstu wyświetlane są gwiazdki. Znak punktora można dostosować.
Użyj kontrolki AutoSuggestBox , aby wyświetlić użytkownikowi listę sugestii do wyboru podczas wpisywania. Pole automatycznego sugerowania to pole wprowadzania tekstu, które wyzwala listę podstawowych sugestii wyszukiwania. Sugerowane terminy mogą pochodzić z kombinacji popularnych terminów wyszukiwania i historycznych terminów wprowadzonych przez użytkownika.
W celu zaimplementowania pola wyszukiwania należy również użyć kontrolki AutoSuggestBox.
Użyj kontrolki RichEditBox do wyświetlania i edytowania plików tekstowych. Nie używasz kontrolki RichEditBox do pobierania danych wejściowych użytkownika do aplikacji w taki sposób, w jaki używasz innych standardowych pól wprowadzania tekstu. Zamiast tego używasz go do pracy z plikami tekstowymi, które są oddzielone od aplikacji. Zazwyczaj zapisujesz tekst wprowadzony w obiekcie RichEditBox w pliku .rtf.
Czy wprowadzanie tekstu jest najlepszą opcją?
Istnieje wiele sposobów uzyskiwania danych wejściowych użytkownika w aplikacji. Te pytania pomogą odpowiedzieć na pytanie, czy jedno ze standardowych pól wprowadzania tekstu lub innej kontrolki jest najlepszym rozwiązaniem do uzyskiwania danych wejściowych użytkownika.
- Czy efektywne wyliczanie wszystkich prawidłowych wartości jest praktyczne? Jeśli tak, rozważ użycie jednej z kontrolek wyboru, takich jak pole wyboru, lista rozwijana, pole listy, przycisk radiowy, suwak, przełącznik, selektordat lub selektor czasu.
- Czy istnieje dość mały zestaw prawidłowych wartości? Jeśli tak, rozważ listę rozwijaną lub pole listy, zwłaszcza jeśli wartości mają więcej niż kilka znaków.
- Czy prawidłowe dane są całkowicie nieograniczone? Czy też prawidłowe dane są ograniczone tylko przez format (ograniczone długości lub typy znaków)? Jeśli tak, użyj kontrolki wprowadzania tekstu. Możesz ograniczyć liczbę znaków, które można wprowadzić, i zweryfikować format w kodzie aplikacji.
- Czy wartość reprezentuje typ danych, który ma wyspecjalizowaną wspólną kontrolę? Jeśli tak, użyj odpowiedniej kontrolki zamiast kontrolki wprowadzania tekstu. Na przykład użyj kontrolki DatePicker zamiast kontrolki wprowadzania tekstu, aby zaakceptować wpis daty.
- Jeśli dane są ściśle liczbowe:
- Czy wartość jest wprowadzana w przybliżeniu i/lub w stosunku do innej ilości na tej samej stronie? Jeśli tak, użyj suwaka.
- Czy użytkownik skorzysta z natychmiastowej opinii na temat wpływu zmian ustawień? Jeśli tak, użyj suwaka, prawdopodobnie z towarzyszącym formantem.
- Czy wartość może zostać wprowadzona po zaobserwowaniu wyniku, na przykład z jasnością głośności lub ekranu? Jeśli tak, użyj suwaka.
Przykłady
| Galeria WinUI 2 | |
|---|---|
|
|
Jeśli masz zainstalowaną aplikację Galeria WinUI 2 , kliknij tutaj, aby otworzyć aplikację i zobaczyć kontrolki tekstu w akcji. |
Pole tekstowe
Pole autosugeruj
Pole hasła
Tworzenie kontrolki tekstu
Zapoznaj się z tymi artykułami, aby uzyskać informacje i przykłady specyficzne dla każdej kontrolki tekstu.
- AutosuggestBox
- Skrzynka na hasła
- RichEditBox (Pole Bogate Edycji)
- RichTextBlock
- Blok tekstu
- Pole tekstowe
Wskazówki dotyczące czcionek i stylów
Zobacz następujące artykuły, aby uzyskać wskazówki dotyczące czcionek:
Wprowadzanie za pomocą pióra
Dotyczy: TextBox, RichEditBox, AutoSuggestBox (tylko platforma UWP)
Począwszy od systemu Windows 10, wersja 1803, pola wejściowe tekstu XAML obsługują osadzoną obsługę wprowadzania pióra przy użyciu pisma odręcznego systemu Windows. Gdy użytkownik naciągnie pole wprowadzania tekstu przy użyciu pióra systemu Windows, pole tekstowe przekształca się, aby umożliwić użytkownikowi zapisywanie bezpośrednio w nim piórem, a nie otwieranie oddzielnego panelu wejściowego.
Aby uzyskać więcej informacji, zobacz Wprowadzanie tekstu w widoku pisma ręcznego.
Wybieranie odpowiedniej klawiatury dla kontrolki tekstu
Dotyczy: TextBox, PasswordBox RichEditBox
Aby ułatwić użytkownikom wprowadzanie danych przy użyciu klawiatury dotykowej lub Panelu wprowadzania nietrwałego (SIP), możesz ustawić zakres wejściowy kontrolki tekstu tak, aby był zgodny z rodzajem danych, które użytkownik powinien wprowadzić.
Porada Ta informacja dotyczy tylko SIP. Nie ma zastosowania do klawiatur sprzętowych ani klawiatury ekranowej dostępnej w opcjach Ułatwienia dostępu systemu Windows.
Klawiatura dotykowa może służyć do wprowadzania tekstu, gdy aplikacja działa na urządzeniu z ekranem dotykowym. Klawiatura dotykowa jest wywoływana, gdy użytkownik naciągnie edytowalne pole wejściowe, takie jak TextBox lub RichEditBox. Możesz znacznie szybciej i łatwiej użytkownikom wprowadzać dane w aplikacji, ustawiając zakres wejściowy kontrolki tekstu tak, aby był zgodny z rodzajem danych, które mają być wprowadzane przez użytkownika. Zakres wejściowy zawiera wskazówkę dla systemu na temat typu wprowadzania tekstu oczekiwanego przez kontrolkę, dzięki czemu system może zapewnić wyspecjalizowany układ klawiatury dotykowej dla typu wejściowego.
Jeśli na przykład pole tekstowe jest używane tylko do wprowadzania 4-cyfrowego numeru PIN, ustaw właściwość InputScope na Number. Dzięki temu system wyświetli układ klawiatury liczbowej, co ułatwia użytkownikowi wprowadzenie numeru PIN.
Ważne
Zakres danych wejściowych nie powoduje przeprowadzenia walidacji danych wejściowych i nie uniemożliwia użytkownikowi podania żadnych danych wejściowych za pośrednictwem klawiatury sprzętowej lub innego urządzenia wejściowego. Nadal ponosisz odpowiedzialność za weryfikowanie danych wejściowych w kodzie zgodnie z potrzebami.
Aby uzyskać więcej informacji, zobacz Używanie zakresu wprowadzania w celu zmiany klawiatury dotykowej.
Czcionki kolorów
Dotyczy: TextBlock, RichTextBlock, TextBox, RichEditBox
System Windows umożliwia czcionkom dołączanie wielu warstw kolorowych dla każdego glifu. Na przykład czcionka emoji Segoe UI definiuje wersje kolorów Emoticon i inne znaki Emoji.
Standardowe i sformatowane kontrolki tekstu obsługują czcionki kolorów wyświetlania. Domyślnie właściwość IsColorFontEnabled ma wartość true , a czcionki z tymi dodatkowymi warstwami są renderowane w kolorze. Domyślna czcionka koloru w systemie to Segoe UI Emoji, a kontrolki powrócą do tej czcionki, aby wyświetlić glify w kolorze.
<TextBlock FontSize="30">Hello ☺⛄☂♨⛅</TextBlock>
Renderowany tekst wygląda następująco:
Aby uzyskać więcej informacji, zobacz właściwość IsColorFontEnabled .
Wskazówki dotyczące separatorów wierszy i akapitów
Dotyczy: TextBlock, RichTextBlock, wielowierszowe pole tekstowe, RichEditBox
Użyj znaku separatora wiersza (0x2028) i znaku separatora akapitu (0x2029), aby podzielić zwykły tekst. Nowy wiersz jest rozpoczynany po każdym separatorze wierszy. Nowy akapit jest rozpoczynany po każdym separatorze akapitu.
Nie jest konieczne rozpoczęcie pierwszego wiersza lub akapitu w pliku z tymi znakami lub do końca ostatniego wiersza lub akapitu z nimi; Oznacza to, że w tej lokalizacji znajduje się pusty wiersz lub akapit.
Aplikacja może użyć separatora linii, aby wskazać bezwarunkowy koniec wiersza. Separatory wierszy nie odpowiadają jednak osobnym znakom powrotu karetki ani znakom wiersza ani kombinacji tych znaków. Separatory wierszy muszą być przetwarzane oddzielnie od znaków powrotu karetki i linefeed.
Aplikacja może wstawić separator akapitu między akapitami tekstu. Użycie tego separatora umożliwia tworzenie plików zwykłego tekstu, które można sformatować z różnymi szerokościami linii w różnych systemach operacyjnych. System docelowy może ignorować wszystkie separatory wierszy i przerywać akapity tylko w separatorach akapitu.
Wskazówki dotyczące sprawdzania pisowni
Dotyczy: TextBox, RichEditBox
Podczas wprowadzania i edytowania tekstu sprawdzanie pisowni informuje użytkownika, że słowo jest błędnie wpisywane przez wyróżnienie go za pomocą czerwonego wywijania i umożliwia użytkownikowi poprawienie błędu.
Oto przykład wbudowanego modułu sprawdzania pisowni:
Użyj sprawdzania pisowni z kontrolkami wprowadzania tekstu w następujących dwóch celach:
Aby automatycznie poprawić błędy pisowni
Aparat sprawdzania pisowni automatycznie poprawia błędnie napisane wyrazy, gdy jest przekonany o poprawce. Na przykład aparat automatycznie zmienia wartość "the" na "the".
Aby wyświetlić alternatywne pisownie
Gdy aparat sprawdzania pisowni nie jest pewny poprawek, dodaje czerwoną linię pod błędnie napisanym słowem i wyświetla alternatywne w menu kontekstowym po naciśnięciu lub kliknięciu wyrazu prawym przyciskiem myszy.
Użyj sprawdzania pisowni, aby ułatwić użytkownikom wprowadzanie wyrazów lub zdań do kontrolek wprowadzania tekstu. Sprawdzanie pisowni działa z danymi wejściowymi dotyku, myszy i klawiatury.
Nie używaj sprawdzania pisowni, gdy wyraz prawdopodobnie nie znajduje się w słowniku lub jeśli użytkownicy nie będą wartościować sprawdzania pisowni. Na przykład nie włączaj go, jeśli pole tekstowe ma przechwycić numer telefonu lub nazwę.
Nie wyłączaj sprawdzania pisowni tylko dlatego, że bieżący aparat sprawdzania pisowni nie obsługuje języka aplikacji. Gdy narzędzie sprawdzania pisowni nie obsługuje języka, nie robi nic, więc nie ma żadnych szkód w pozostawieniu opcji włączonej. Ponadto niektórzy użytkownicy mogą używać Edytora metod wejściowych (IME) do wprowadzenia innego języka do aplikacji i może być obsługiwany ten język. Na przykład podczas kompilowania aplikacji języka japońskiego, mimo że aparat sprawdzania pisowni może obecnie nie rozpoznać tego języka, nie wyłączaj sprawdzania pisowni. Użytkownik może przełączyć się na angielski IME i wpisać angielski do aplikacji; Jeśli sprawdzanie pisowni jest włączone, język angielski zostanie sprawdzony.
W przypadku kontrolek TextBox i RichEditBox sprawdzanie pisowni jest domyślnie włączone. Można ją wyłączyć, ustawiając właściwość IsSpellCheckEnabled na false.
Powiązane artykuły
Dla projektantów
- Wskazówki dotyczące typografii
- Lista ikon I wytyczne dotyczące języka Segoe MDL2
- Dodawanie wyszukiwania
Dla deweloperów (XAML)
Windows developer