29. diel - WPF - Prvky pre ukladanie dát a opisné prvky
V minulej lekcii, WPF - Prehľad prvkov pre vkladanie dát , sme začali prehľad ovládacích prvkov pre vkladanie dát. V dnešnom C# .NET WPF tutoriálu je dokončíme a pozrieme sa aj na prvky opisné.
PasswordBox (Heslo)
Prvok slúži na zadávanie hesla.
Vlastnosti
Password
- nastavuje alebo vracia hesloPasswordChar
- nastavenie znaku, ktorým sa nahrádza zadávaný text (aby zadané heslo nebolo vidieť)
Udalosti
PasswordChanged
- pri vložení znaku sa spustí priradená metóda. Aj tu platí rovnaké odporúčanie ako priTextBox
u, že by metóda nemala byť moc dlhá (resp. Trvať príliš dlho).
Prí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)
Pomocou tohto prvku je možné vkladať alebo zobrazovať rozsiahlejšie formátovaný text.
Vlastnosti
IsDocumentEnabled
- povoľuje prístup na prvky použité vRichTextBox
u (napr.Button
pod.)IsReadOnly
- nastavuje prvok iba na čítanieIsUndoEnabled
- povoľuje funkciu "Undo" (funkcia späť)SpellCheck.IsEnabled
- povoľuje kontrolu pravopisu (true
/false
)
Udalosti
Žiadne dôležité.
Príklad
XAML
<RichTextBox x:Name="rtbText" BorderBrush="Black" BorderThickness="2,2,1,1" VerticalScrollBarVisibility="Auto"/>
Textbox (Textové pole)
Prvok, cez ktorý sa vkladajú textové hodnoty alebo aj hodnoty v iných formátoch (napr. Čísla).
Vlastnosti
MaxLength
- obmedzenie dĺžky vkladaného textuIsReadOnly
- umožňuje zakázať editáciu prvkuIsUndoEnabled
- povoľuje funkciu "Undo" (funkcia späť)SpellCheck.IsEnabled
- povoľuje kontrolu pravopisu (true
/false
)Text
- zobrazuje uvedený text
Udalosti
GotFocus
- pri získaní tzv. Fokusu (napr. Kliknutím myšou na prvok) spustí priradenú metódu. To možno využiť napr. K vymazaniuTextBox
u pred zadávaním nových hodnôt.TextChanged
- pri každom vložení znaku do prvku sa spustí priradená metóda. To možno využiť napr. K zmene ďalších polí alebo popiskov. Odporúča sa pri použití tejto udalosti písať krátke metódy, lebo ako už bolo uvedené, spúšťa sa pri každom vložení znaku do prvku.
Prí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 #
Udalosť GotFocus
:
// Vymazání obsahu pole při kliknutí na prvek private void VycistiPole(object sender, RoutedEventArgs e) { tbxPocet.Text = ""; }
Udalosť 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); }
Opisné prvky
Ako ďalšie si popíšeme WPF prvky, ktoré fungujú ako popisky k ostatným prvkom. Sú to:
Label
ProgressBar
TextBlock
Label (Popisok)
Slúži na opis použitých prvkov. Na rozdiel od nižšie uvedeného
TextBlock
u, umožňuje nastavovať ohraničenie prvku, zobraziť
obrázky (alebo ďalší vnútorný obsah) alebo nastavovať focus.
Vlastnosti
Content
- zobrazuje uvedený text
Udalosti
Žiadne dôležité.
Príklad
XAML
<Label Content="Nějaký popisek" FontFamily="Tahoma" FontSize="14" FontWeight="Bold" Foreground="Blue"/>
Progressbar (Ukazovateľ)
Pomocou tohto prvku je možné zobrazovať stav spracovania. Napríklad pri čítaní dát v cykle môže ukazovať, koľko toho bolo už načítané.
Vlastnosti
Foreground
- nastavuje farbu pruhu, ktorý zobrazuje stavIsIndeterminate
- pri hodnotetrue
sa zobrazí len neustále bežiaci prúžok, prifalse
sa zobrazuje aktuálna hodnotaLargeChange
- hodnota, o ktorú sa zvyšuje alebo znižuje celková hodnota pri kliknutí na indikátorMaximum
- maximálna hodnotaMinimum
- minimálna hodnotaOrientation
- orientácia prvku (vodorovne alebo zvisle)SmallChange
- hodnota, o ktorú sa zvyšuje alebo znižuje celková hodnota pri kliknutí na šípkuValue
- aktuálna hodnota
Udalosti
Žiadne dôležité.
Príklad
XAML
<ProgressBar x:Name="pbrUkazatel" Height="10" BorderBrush="Black" BorderThickness="2,2,1,1" Foreground="Lime" Maximum="10" />
TextBlock (Textové pole)
Tento prvok umožňuje zobrazovať rozsiahlejšie, viacriadkový text. Oproti label však zobrazuje len text, nie je možné vložiť ďalším prvky.
Vlastnosti
TextWrapping
- nastavuje zalamovanie textu
Udalosti
Žiadne dôležité.
Príklad
XAML
<TextBlock x:Name="tbkText" Background="White" TextWrapping="Wrap" Padding="10"/>
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkamiStiahnuté 473x (1.14 MB)