IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 36 - 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.

PasswordBox v C# .NET WPF - WPF - Okenní aplikace v C# .NET

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 - WPF - Okenní aplikace v C# .NET

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 - WPF - Okenní aplikace v C# .NET

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 - WPF - Okenní aplikace v C# .NET

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 - WPF - Okenní aplikace v C# .NET

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 prvku Label však zobrazuje pouze text, nelze vložit dalším prvky.

TextBlock v C# .NET WPF - WPF - Okenní aplikace v C# .NET

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ínkami

Staženo 428x (1.14 MB)

 

Předchozí článek
WPF - Přehled prvků pro vkládání dat
Všechny články v sekci
WPF - Okenní aplikace v C# .NET
Přeskočit článek
(nedoporučujeme)
WPF - Prvky pro zobrazení dat
Článek pro vás napsal Petr Pospíšil
Avatar
Uživatelské hodnocení:
15 hlasů
Aktivity