Letní akce Python týden
Pouze tento týden sleva až 80 % na kurzy Python. Lze kombinovat s akcí Letní slevy na prémiový obsah!
Brno? Vypsali jsme pro vás nové termíny školení Základů programování a OOP v Brně!

Lekce 29 - WPF - Prvky pro ukládání dat a popisné prvky

Unicorn College Tento obsah je dostupný zdarma v rámci projektu IT lidem.
Vydávání, hosting a aktualizace umožňují jeho sponzoři.

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.

PasswordBox v C# .NET WPF

Vlastnosti

  • Password – nastavuje nebo vrací heslo
  • PasswordChar – 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 u TextBoxu, ž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.

RichTextBox v C# .NET WPF

Vlastnosti

  • IsDocumentEnabled - povoluje přístup na prvky použité v RichTextBoxu (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).

TextBox v C# .NET WPF

Vlastnosti

  • MaxLength – omezení délky vkládaného textu
  • IsReadOnly – umožňuje zakázat editaci prvku
  • IsUndoEnabled - 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í TextBoxu 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 TextBlocku, umožňuje nastavovat ohraničení prvku, zobrazit obrázky (či další vnitřní obsah) nebo nastavovat focus.

Label v C# .NET WPF

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.

ProgressBar v C# .NET WPF

Vlastnosti

  • Foreground – nastavuje barvu pruhu, který zobrazuje stav
  • IsIndeterminate - při hodnotě true se zobrazí jen neustále běžící proužek, při false se zobrazuje aktuální hodnota
  • LargeChange - hodnota, o kterou se zvyšuje nebo snižuje celková hodnota při kliknutí na indikátor
  • Maximum - maximální hodnota
  • Minimum - minimální hodnota
  • Orientation - orientace prvku (vodorovně nebo svisle)
  • SmallChange - hodnota, o kterou se zvyšuje nebo snižuje celková hodnota při kliknutí na šipku
  • Value - 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 Labelu však zobrazuje pouze text, nelze vložit dalším prvky.

TextBlock v C# .NET WPF

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"/>

 

Stáhnout

Staženo 45x (1.14 MB)

 

 

Aktivity (2)

 

 

Komentáře

Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zatím nikdo nevložil komentář - buď první!