Textové pole

Třída TextBox umožňuje zobrazit nebo upravit neformátovaný text. Běžné použití TextBox je úprava neformátovaného textu ve formuláři. Například formulář, který žádá o jméno uživatele, telefonní číslo a další informace, by používal TextBox ovládací prvky pro zadávání textu.

Snímek obrazovky se čtyřmi ovládacími prvky TextBox demonstrujícími různé stavy

Následující tabulka obsahuje seznam běžných úkolů pro práci s ovládacím prvku TextBox:

Title Description
Vytvoření víceřádkového ovládacího prvku TextBox Zjistěte, jak vytvořit textové pole, které přijímá více řádků textu.
Zjistit, kdy se změnil text v textovém poli Přečtěte si, jak reagovat, když se text změní v textovém poli.
Povolení znaků tabulátoru v ovládacím prvku TextBox Zjistěte, jak povolit znaky tabulátoru v textovém poli.
Získání kolekce řádků z textového pole Zjistěte, jak načíst řádky textu z textového pole.
Nastavení ovládacího prvku TextBox jen pro čtení Zjistěte, jak zabránit úpravám v textovém poli.
Umístění kurzoru na začátek nebo konec textu v ovládacím prvku TextBox Zjistěte, jak nastavit pozici kurzoru v textovém poli.
Načíst výběr textu Zjistěte, jak získat vybraný text z textového pole.
Nastavení fokusu v ovládacím prvku TextBox Zjistěte, jak dát fokus textovému poli.
Nastavení textového obsahu ovládacího prvku TextBox Zjistěte, jak nastavit počáteční text v textovém poli.
Povolení kontroly pravopisu v ovládacím prvku pro úpravy textu Zjistěte, jak povolit kontrolu pravopisu v textovém poli.
Použít vlastní místní nabídku s textovým polem Zjistěte, jak vytvořit vlastní kontextovou nabídku pro TextBox.
Použít kontrolu pravopisu s místní nabídkou Zjistěte, jak integrovat kontrolu pravopisu s místní nabídkou.
Přidání vodoznaku do textového pole Zjistěte, jak zobrazit zástupný text v textovém poli.

TextBox nebo RichTextBox?

TextBox a RichTextBox umožňují uživatelům zadávat text, ale tyto dva ovládací prvky se používají pro různé scénáře. A TextBox vyžaduje méně systémových prostředků než a RichTextBoxproto je ideální, když je potřeba upravit jenom prostý text (to znamená použití ve formuláři). A RichTextBox je lepší volbou, když je nutné, aby uživatel upravil formátovaný text, obrázky, tabulky nebo jiný podporovaný obsah. Například úpravy dokumentu, článku nebo blogu, které vyžadují formátování, obrázky a další obsah, se nejlépe provádějí pomocí RichTextBox. Následující tabulka shrnuje primární funkce TextBox a RichTextBox.

Řízení Kontrola pravopisu v reálném čase Kontextová nabídka Formátování příkazů jako ToggleBold (Ctr+B) FlowDocument obsah, jako jsou obrázky, odstavce, tabulky a další
TextBox Ano Ano Ne Ne.
RichTextBox Ano Ano Ano (viz Přehled RichTextBoxu) Ano (viz Přehled RichTextBoxu)

Poznámka:

I když TextBox nepodporuje příkazy pro úpravy související s formátováním, jako je ToggleBold (Ctr+B), oba ovládací prvky podporují mnoho základních příkazů, jako je MoveToLineEnd. Další informace najdete v tématu EditingCommands.

Funkce podporované TextBox jsou popsány v následujících částech. Další informace o RichTextBox naleznete v tématu RichTextBox Overview.

Kontrola pravopisu v reálném čase

Kontrolu pravopisu v reálném čase můžete povolit v TextBoxRichTextBox Když je kontrola pravopisu zapnutá, pod chybně napsanými slovy se zobrazí červená čára (viz následující obrázek).

Snímek obrazovky ovládacího prvku TextBox s povolenou kontrolou pravopisu a červeným podtržením pod chybně napsaným slovem

Informace o povolení kontroly pravopisu najdete v tématu Povolení kontroly pravopisu v ovládacím prvku pro úpravy textu.

Kontextová nabídka

Ve výchozím nastavení mají jak TextBox, tak RichTextBox místní nabídku, která se zobrazí, když uživatel klikne pravým tlačítkem myši uvnitř každého ovládacího prvku. Místní nabídka umožňuje uživateli vyjmout, zkopírovat nebo vložit (viz následující obrázek).

Snímek obrazovky ovládacího prvku TextBox zobrazující místní nabídku s možnostmi vyjmutí, kopírování a vložení

Můžete vytvořit vlastní kontextové menu, které přepíše výchozí chování. Další informace naleznete v tématu Použití vlastní kontextové nabídky s TextBoxem.

Vytváření textových polí

A TextBox může být vysoká jednu řádku nebo se může skládat z více řádků. Jeden řádek TextBox je nejvhodnější pro zadávání malých objemů prostého textu (například "Jméno", "Telefonní číslo" a další informace ve formuláři). Následující příklad ukazuje, jak vytvořit jeden řádek TextBox.

<Page  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <StackPanel>
    <TextBox Width="200" MaxLength="100" />
  </StackPanel>
</Page>

Můžete také vytvořit, TextBox aby uživatel mohl zadat více řádků textu. Pokud například formulář požádal o životopisný skic uživatele, měli byste použít TextBox text, který podporuje více řádků textu. Následující příklad ukazuje, jak pomocí jazyka XAML (Extensible Application Markup Language) definovat TextBox ovládací prvek, který se automaticky rozšíří tak, aby vyhovoval více řádkům textu.

<TextBox
  Name="tbMultiLine"
  TextWrapping="Wrap"
  AcceptsReturn="True"
  VerticalScrollBarVisibility="Visible"
>
  This TextBox will allow the user to enter multiple lines of text.  When the RETURN key is pressed, 
  or when typed text reaches the edge of the text box, a new line is automatically inserted.
</TextBox>

Nastavením atributu TextWrapping způsobíte Wrap , že se text při dosažení okraje TextBox ovládacího prvku zalomí na nový řádek, a v případě potřeby automaticky rozbalí TextBox ovládací prvek tak, aby zahrnoval prostor pro nový řádek.

Nastavením atributu AcceptsReturn na true se způsobí, že při stisknutí klávesy RETURN se vloží nový řádek, a TextBox se v případě potřeby automaticky rozbalí, aby zahrnoval místo pro nový řádek.

Atribut VerticalScrollBarVisibility přidá posuvník do TextBox, aby bylo možné procházet obsah TextBox, pokud se TextBox rozšiřuje mimo velikost rámečku nebo okna, které ho obklopuje.

Další informace o různých úkolech přidružených k používání aplikace TextBoxnaleznete v tématech s postupy uvedenými v horní části tohoto článku.

Zjištění, kdy se obsah změní

TextChanged Událost by se obvykle měla použít ke zjištění, kdy se text v TextBox nebo RichTextBox změní, spíše než KeyDown jak byste mohli očekávat. Příklad najdete v tématu Zjistit, kdy se text v textovém poli změnil.

Styly a šablony

Výchozí nastavení ControlTemplate můžete upravit tak, aby ovládací prvek získal TextBox jedinečný vzhled. Další informace najdete v tématu Co jsou styly a šablony? a Jak vytvořit šablonu pro ovládací prvek.

Vlastnost obsahu

Ovládací TextBox prvek používá Text vlastnost k zobrazení textového obsahu.

Součástky

Následující tabulka uvádí pojmenované části TextBox ovládacího prvku.

Část Typ Description
PART_ContentHost FrameworkElement Prvek architektury, který je hostitelem textového obsahu.

Vizuální stavy

Následující tabulka uvádí vizuální stavy TextBox ovládacího prvku.

Název VisualState Název skupiny VisualStateGroup Description
Disabled CommonStates Ovládací prvek je zakázaný.
Focused FocusStates Ovládací prvek má fokus klávesnice.
Neplatný fokus StavyOvěření Ovládací prvek má chybu validace a klávesnicový fokus.
NeplatnýBezZaostření StavyOvěření Ovládací prvek má chybu ověření, ale nemá zaměření klávesnice.
Mouseover CommonStates Myš je umístěna nad ovládacím prvkem.
Normální CommonStates Ovládací prvek je v normálním stavu.
ReadOnly CommonStates Ovládací prvek je v režimu jen pro čtení.
Nezaměřený FocusStates Ovládací prvek nemá fokus klávesnice.
Valid StavyOvěření Ovládací prvek je platný a nemá žádné chyby ověření.

Viz také