Sdílet prostřednictvím


Textové ovládací prvky

Textové ovládací prvky se skládají z polí pro zadávání textu, polí hesel, automatických návrhových polí a textových bloků. Architektura XAML poskytuje několik ovládacích prvků pro vykreslování, zadávání a úpravy textu a sadu vlastností pro formátování textu.

Důležitá rozhraní API: Třída TextBlock, Třída RichTextBlock, Třída TextBox, Třída RichEditBox, AutoSuggestBox třída, PasswordBox – třída

Je to správná kontrola?

Ovládací prvek textu, který použijete, závisí na vašem scénáři. Tyto informace slouží k výběru správného ovládacího prvku textu, který chcete použít v aplikaci.

Vykreslení textu jen pro čtení

Pomocí textového bloku můžete v aplikaci zobrazit většinu textu jen pro čtení. Můžete ho použít k zobrazení jednořádkového nebo víceřádkového textu, vložených hypertextových odkazů a textu s formátováním, jako je tučné písmo, kurzíva nebo podtržení.

TextBlock je obvykle jednodušší a poskytuje lepší výkon vykreslování textu než RichTextBlock, takže je upřednostňovaný pro většinu textu uživatelského rozhraní aplikace. K textu z Objektu TextBlock v aplikaci můžete snadno přistupovat a používat ho tak, že získáte hodnotu vlastnosti Text .

Nabízí také řadu stejných možností formátování pro přizpůsobení způsobu vykreslení textu. I když do textu můžete vložit konce řádků, TextBlock je navržený tak, aby zobrazoval jeden odstavec a nepodporuje odsazení textu.

Formát RichTextBlock použijte, pokud potřebujete podporu pro více odstavců, text s více sloupci nebo jiná rozložení složitého textu nebo vložené prvky uživatelského rozhraní, jako jsou obrázky. RichTextBlock poskytuje několik funkcí pro rozšířené rozložení textu.

Vlastnost obsah RichTextBlock je vlastnost Blocks, která podporuje text na bázi odstavců pomocí prvku Paragraph. Nemá vlastnost Text , kterou můžete použít pro snadný přístup k textovému obsahu ovládacího prvku ve vaší aplikaci.

Textové zadání

Ovládací prvek TextBox umožňuje uživateli zadat a upravit neformátovaný text, například ve formuláři. Pomocí vlastnosti Text můžete získat a nastavit text v textovém poli.

Textové pole můžete nastavit jen pro čtení, ale mělo by se jednat o dočasný podmíněný stav. Pokud text nikdy není možné upravovat, zvažte místo toho použití textového bloku.

Pomocí ovládacího prvku PasswordBox shromažďovat heslo nebo jiná soukromá data, například číslo sociálního pojištění. Pole s heslem je textové vstupní pole, které skryje znaky, které jsou v něm zadané kvůli ochraně osobních údajů. Pole s heslem vypadá jako textové vstupní pole s tím rozdílem, že místo zadaného textu vykreslí odrážky. Znak odrážky lze přizpůsobit.

Pomocí ovládacího prvku AutoSuggestBox zobrazíte uživateli seznam návrhů, ze které si můžete vybrat při psaní. Pole s automatickým návrhem je textové pole, které aktivuje seznam základních návrhů hledání. Navrhované termíny můžou vycházet z kombinace oblíbených hledaných termínů a historických uživatelských termínů.

K implementaci vyhledávacího pole byste také měli použít ovládací prvek AutoSuggestBox.

K zobrazení a úpravám textových souborů použijte RichEditBox . K získání uživatelského vstupu do aplikace nepoužíváte RichEditBox způsob, jakým používáte jiná standardní textová vstupní pole. Místo toho ho použijete k práci s textovými soubory, které jsou oddělené od vaší aplikace. Text zadaný do RichEditBoxu se obvykle ukládá do .rtf souboru.

Je nejlepší volbou zadávání textu?

V aplikaci můžete získat uživatelský vstup mnoha způsoby. Tyto otázky vám pomůžou zodpovědět, jestli je pro získání uživatelského vstupu nejvhodnější jedno ze standardních polí pro zadávání textu nebo jiný ovládací prvek.

  • Je praktické efektivně vytvořit výčet všech platných hodnot? Pokud ano, zvažte použití některého z ovládacích prvků výběru, jako je zaškrtávací políčko, rozevírací seznam, seznam, přepínač, posuvník, přepínač, přepínač, výběr data nebo výběr času.
  • Existuje poměrně malá sada platných hodnot? Pokud ano, zvažte rozevírací seznam nebo seznam, zejména pokud jsou hodnoty delší než několik znaků.
  • Jsou platná data zcela nezatrénovaná? Nebo jsou platná data omezena pouze formátem (omezenou délkou nebo typy znaků)? Pokud ano, použijte ovládací prvek pro zadávání textu. Můžete omezit počet znaků, které lze zadat, a můžete ověřit formát v kódu aplikace.
  • Představuje hodnota datový typ, který má specializovaný společný ovládací prvek? Pokud ano, použijte místo textového ovládacího prvku příslušný ovládací prvek. Například použijte DatePicker místo ovládacího prvku textového vstupu k přijetí položky data.
  • Pokud jsou data výhradně číselná:
    • Je zadaná hodnota přibližná nebo relativní k jinému množství na stejné stránce? Pokud ano, použijte posuvník.
    • Těží by uživatel z okamžité zpětné vazby na vliv změn nastavení? Pokud ano, použijte posuvník, případně s doprovodným ovládacím prvku.
    • Je hodnota zadaná pravděpodobně upravena po pozorování výsledku, například s hlasitostí nebo jasem obrazovky? Pokud ano, použijte posuvník.

Examples

Galerie WinUI 2
Galerie WinUI

Pokud máte nainstalovanou aplikaci Galerie WinUI 2 , kliknutím sem aplikaci otevřete a podívejte se na ovládací prvky textu v akci.

Textové pole

textové pole

Pole Automatické návrhy

Příklad rozšířeného automatického návrhového okna

Heslové pole

stav zaměření pole Heslo psaní textu

Vytvoření ovládacího prvku text

V těchto článcích najdete informace a příklady specifické pro každý ovládací prvek textu.

Pokyny pro písmo a styl

Pokyny k písmu najdete v těchto článcích:

Vstup pera

Platí pro: TextBox, RichEditBox, AutoSuggestBox (jenom UPW)

Počínaje Windows 10 verze 1803 podporují vložená textová pole XAML pro zadávání pera pomocí Windows Ink. Když uživatel klepne do textového vstupního pole pomocí pera pro Windows, textové pole se transformuje, aby do něj uživatel zapsal přímo perem, a ne otevření samostatného vstupního panelu.

Další informace najdete v tématu Textové zadání v zobrazení pro psaní rukou.

Volba správné klávesnice pro ovládací prvek textu

Platí pro: TextBox, PasswordBox RichEditBox

Pokud chcete uživatelům pomoct zadat data pomocí dotykové klávesnice nebo siP (Soft Input Panel), můžete nastavit rozsah zadávání ovládacího prvku textu tak, aby odpovídal druhu dat, která má uživatel zadat.

Tip: Tyto informace platí jenom pro SIP. Nevztahuje se na hardwarové klávesnice ani klávesnice na obrazovce dostupné v možnostech Usnadnění přístupu systému Windows.

Dotykovou klávesnici můžete použít pro zadávání textu, když aplikace běží na zařízení s dotykovou obrazovkou. Dotyková klávesnice se vyvolá, když uživatel klepne na upravitelné vstupní pole, například TextBox nebo RichEditBox. Uživatelům můžete usnadnit zadávání dat do aplikace nastavením vstupního rozsahu ovládacího prvku textu tak, aby odpovídal druhu dat, která očekáváte, že uživatel zadá. Vstupní obor poskytuje systému nápovědu o typu textového vstupu očekávaného ovládacím prvkem, aby systém mohl poskytnout specializované dotykové rozložení klávesnice pro typ vstupu.

Pokud je například textové pole použito pouze k zadání 4místného PIN kódu, nastavte Vlastnost InputScope na Number. Tím systému sdělíte, že má zobrazit rozložení číselné klávesnice, což uživateli usnadní zadání KÓDU PIN.

Důležité
Vstupní obor nezpůsobí provedení žádného ověření vstupu a nezabrání uživateli v poskytování jakéhokoli vstupu prostřednictvím hardwarové klávesnice nebo jiného vstupního zařízení. Stále zodpovídáte za ověření vstupu v kódu podle potřeby.

Další informace najdete v tématu Použití vstupního oboru ke změně dotykové klávesnice.

Barevná písma

Platí pro: TextBlock, RichTextBlock, TextBox, RichEditBox

Systém Windows má možnost, aby písma obsahovala více barevných vrstev pro každý glyf. Například písmo Segoe UI Emoji definuje barevné verze Emotikony a další znaky Emoji.

Standardní a formátovaný text podporují písma barev zobrazení. Ve výchozím nastavení je IsColorFontEnabled vlastnost true a písma s těmito dalšími vrstvami jsou vykresleny barvou. Výchozí barevné písmo v systému je Segoe UI Emoji a ovládací prvky se vrátí k tomuto písmu, aby se zobrazily barvy glyfů.

<TextBlock FontSize="30">Hello ☺⛄☂♨⛅</TextBlock>

Vykreslený text vypadá takto:

Blok textu s barevným písmem

Další informace naleznete v IsColorFontEnabled vlastnost.

Pokyny pro oddělovače řádků a odstavců

Platí pro: TextBlock, RichTextBlock, multi-line TextBox, RichEditBox

K dělení prostého textu použijte znak oddělovače řádků (0x2028) a znak oddělovače odstavce (0x2029). Za každým oddělovačem řádků se začne nový řádek. Nový odstavec se začne za oddělovačem každého odstavce.

Není nutné začínat první řádek nebo odstavec v souboru s těmito znaky nebo ukončit poslední řádek nebo odstavec s nimi; Znamená to, že je v daném umístění prázdný řádek nebo odstavec.

Aplikace může pomocí oddělovače řádků označit nepodmíněný konec řádku. Oddělovače řádků ale neodpovídají samostatným znakům návratu na začátek řádku a znaku řádku ani ke kombinaci těchto znaků. Oddělovače řádků musí být zpracovány odděleně od znaků návratu na začátek řádku a odřádkovaných znaků.

Aplikace může vložit oddělovač odstavců mezi odstavce textu. Použití tohoto oddělovače umožňuje vytvářet soubory ve formátu prostého textu, které lze formátovat s různými šířkami čar v různých operačních systémech. Cílový systém může ignorovat všechny oddělovače řádků a konce odstavců pouze u oddělovačů odstavců.

Pokyny pro kontrolu pravopisu

Platí pro: TextBox, RichEditBox

Při zadávání a úpravách textu informuje kontrola pravopisu uživatele, že slovo je chybně napsané tak, že ho zvýrazní červenou vlnovkou a poskytne uživateli způsob, jak chybu pravopisu opravit.

Tady je příklad integrované kontroly pravopisu:

integrovaný nástroj pro kontrolu pravopisu

Pro tyto dva účely použijte kontrolu pravopisu s ovládacími prvky pro zadávání textu:

  • Automatické opravy chybných pravopisů

    Modul pro kontrolu pravopisu automaticky opraví chybně napsaná slova, když je o opravě přesvědčený. Například modul automaticky změní "the" na "the".

  • Zobrazení alternativních pravopisů

    Pokud modul pro kontrolu pravopisu nemá jistotu o opravách, přidá pod chybně napsané slovo červenou čáru a zobrazí střídavky v místní nabídce, když klepnete na slovo nebo na něj kliknete pravým tlačítkem myši.

  • Kontrola pravopisu pomáhá uživatelům při zadávání slov nebo vět do ovládacích prvků pro zadávání textu. Kontrola pravopisu funguje s dotykovým ovládáním, myší a vstupy klávesnice.

  • Nepoužívejte kontrolu pravopisu, pokud slovo pravděpodobně není ve slovníku nebo pokud by uživatelé nehodnotovali kontrolu pravopisu. Pokud je například textové pole určené k zachycení telefonního čísla nebo jména, nezapínejte ho.

  • Nezakažujte kontrolu pravopisu jenom proto, že aktuální modul pro kontrolu pravopisu nepodporuje jazyk vaší aplikace. Pokud kontrola pravopisu nepodporuje jazyk, nic nedělá, takže není možné nechat možnost zapnutá. Někteří uživatelé také můžou k zadání jiného jazyka do aplikace použít editor IME (Input Method Editor) a tento jazyk se může podporovat. Například při vytváření japonské jazykové aplikace, i když modul pro kontrolu pravopisu v současné době tento jazyk nerozpozná, nevypínejte kontrolu pravopisu. Uživatel může přepnout na anglický editor IME a zadat do aplikace angličtinu; pokud je povolená kontrola pravopisu, bude kontrola pravopisu v angličtině.

U ovládacích prvků TextBox a RichEditBox je ve výchozím nastavení zapnutá kontrola pravopisu. Můžete ho vypnout nastavením IsSpellCheckEnabled vlastnost false.

Pro návrháře

Pro vývojáře (XAML)