Lekce 39 - WPF - Prvky pro ukládání dat a popisné prvky
V minulé lekci, WPF - Přehled prvků pro vkládání dat, jsme započali přehled ovládacích prvků pro vkládání dat.
V dnešním C# .NET WPF tutoriálu je dokončíme a podíváme se také na prvky popisné.
PasswordBox (Heslo)
Prvek slouží k zadávání hesla.

Vlastnosti
Password
– nastavuje nebo vrací hesloPasswordChar
– nastavení znaku, kterým se nahrazuje zadávaný text (aby zadané heslo nebylo vidět)
Události
PasswordChanged
– při vložení znaku se spustí přiřazená metoda. I zde platí stejné doporučení jako uTextBox
u, že by metoda neměla být moc dlouhá (resp. trvat příliš dlouho).
Příklad
XAML
<PasswordBox x:Name="psbxHeslo" Width="150" BorderBrush="Black" BorderThickness="2,2,1,1" HorizontalAlignment="Left" VerticalContentAlignment="Center" PasswordChanged="ZobrazHeslo" MaxLength="8"/>
C#
private void ZobrazHeslo(object sender, RoutedEventArgs e) { lblHeslo.Content = psbxHeslo.Password.ToString(); }
RichTextBox (Formátované textové pole)
Pomocí tohoto prvku lze vkládat nebo zobrazovat rozsáhlejší formátovaný text.

Vlastnosti
IsDocumentEnabled
- povoluje přístup na prvky použité vRichTextBox
u (např.Button
apod.)IsReadOnly
- nastavuje prvek pouze ke čteníIsUndoEnabled
- povoluje funkci "Undo" (funkce zpět)SpellCheck.IsEnabled
- povoluje kontrolu pravopisu (true
/false
)
Události
Žádné důležité.
Příklad
XAML
<RichTextBox x:Name="rtbText" BorderBrush="Black" BorderThickness="2,2,1,1" VerticalScrollBarVisibility="Auto"/>
TextBox (Textové pole)
Prvek, přes který se vkládají textové hodnoty nebo i hodnoty v jiných formátech (např. čísla).

Vlastnosti
MaxLength
– omezení délky vkládaného textuIsReadOnly
– umožňuje zakázat editaci prvkuIsUndoEnabled
- povoluje funkci "Undo" (funkce zpět)SpellCheck.IsEnabled
- povoluje kontrolu pravopisu (true
/false
)Text
– zobrazuje uvedený text
Události
GotFocus
– při získání tzv. fokusu (např. kliknutím myší na prvek) spustí přiřazenou metodu. To lze využít např. k vymazáníTextBox
u před zadáváním nových hodnot.TextChanged
– při každém vložení znaku do prvku se spustí přiřazená metoda. To lze využít např. ke změně dalších polí nebo popisků. Doporučuje se při použití této události psát krátké metody, neboť jak již bylo uvedeno, spouští se při každém vložení znaku do prvku.
Příklad
XAML
<TextBox x:Name="tbxPocet" Width="60" Height="30" Background="LightGray" BorderBrush="Black" BorderThickness="2,2,1,1" MaxLength="5" HorizontalAlignment="Right" Padding="0,0,5,0" HorizontalContentAlignment="Right" VerticalContentAlignment="Center" GotFocus="VycistiPole" PreviewTextInput="KontrolaVstupu"/>
C#
Událost GotFocus
:
// Vymazání obsahu pole při kliknutí na prvek private void VycistiPole(object sender, RoutedEventArgs e) { tbxPocet.Text = ""; }
Událost PreviewTextInput
:
using System.Text.RegularExpressions; // ... // Povolení pouze číselné hodnoty, čárky a tečky pomocí regulárního výrazu private void KontrolaVstupu(object sender, TextCompositionEventArgs e) { Regex regex = new Regex("\\d|[,.]"); e.Handled = !regex.IsMatch(e.Text); }
Popisné prvky
Jako další si popíšeme WPF prvky, které fungují jako popisky k ostatním prvkům. Jsou to:
Label
ProgressBar
TextBlock
Label (Popisek)
Slouží k popisu použitých prvků. Na rozdíl od níže uvedeného
TextBlock
u, umožňuje nastavovat ohraničení prvku, zobrazit
obrázky (či další vnitřní obsah) nebo nastavovat focus.

Vlastnosti
Content
– zobrazuje uvedený text
Události
Žádné důležité.
Příklad
XAML
<Label Content="Nějaký popisek" FontFamily="Tahoma" FontSize="14" FontWeight="Bold" Foreground="Blue"/>
ProgressBar (Ukazatel)
Pomocí tohoto prvku lze zobrazovat stav zpracování. Například při čtení dat v cyklu může ukazovat, kolik toho bylo již načteno.

Vlastnosti
Foreground
– nastavuje barvu pruhu, který zobrazuje stavIsIndeterminate
- při hodnotětrue
se zobrazí jen neustále běžící proužek, přifalse
se zobrazuje aktuální hodnotaLargeChange
- hodnota, o kterou se zvyšuje nebo snižuje celková hodnota při kliknutí na indikátorMaximum
- maximální hodnotaMinimum
- minimální hodnotaOrientation
- orientace prvku (vodorovně nebo svisle)SmallChange
- hodnota, o kterou se zvyšuje nebo snižuje celková hodnota při kliknutí na šipkuValue
- aktuální hodnota
Události
Žádné důležité.
Příklad
XAML
<ProgressBar x:Name="pbrUkazatel" Height="10" BorderBrush="Black" BorderThickness="2,2,1,1" Foreground="Lime" Maximum="10" />
TextBlock (Textové pole)
Tento prvek umožňuje zobrazovat rozsáhlejší, víceřádkový text.
Oproti prvku Label
však zobrazuje pouze text, nelze vložit
dalším prvky.

Vlastnosti
TextWrapping
– nastavuje zalamování textu
Události
Žádné důležité.
Příklad
XAML
<TextBlock x:Name="tbkText" Background="White" TextWrapping="Wrap" Padding="10"/>
V příští lekci, WPF - Prvky pro zobrazení dat, se koukneme na ovládací prvky pro zobrazení dat.
Stáhnout
Stažením následujícího souboru souhlasíš s licenčními podmínkamiStaženo 516x (1.14 MB)