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.
![PasswordBox v C# .NET WPF - Okenné aplikácie v C # .NET WPF](images/51571/passwordbox.png)
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.
![RichTextBox v C# .NET WPF - Okenné aplikácie v C # .NET WPF](images/51571/richtextbox.png)
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).
![TextBox v C# .NET WPF - Okenné aplikácie v C # .NET WPF](images/51571/textbox.png)
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.
![Label v C# .NET WPF - Okenné aplikácie v C # .NET WPF](images/51571/label.png)
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é.
![Progressbar v C# .NET WPF - Okenné aplikácie v C # .NET WPF](images/51571/progressbar.png)
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.
![TextBlock v C# .NET WPF - Okenné aplikácie v C # .NET WPF](images/51571/textblock.png)
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é 495x (1.14 MB)