V dnešnom diely sa pozrieme na trojicu často používaných prvkov, a to na zaškrtávacie položky, prepínače a skupinové kontajnery.
Úvod
CheckBoxi a RadioButtoni sú užitočné ovládacie prvky, ktoré môžete použiť keď budete potrebovať vstup od používateľa, napríklad v nastaveniach vášho programu. GroupBox vám tieto prvky dovolí usporiadať do kategórií, vďaka ktorým sa medzi nimi bude používateľ vedieť lepšie orientovať.
GroupBox
GroupBox je prvok určený na označenie skupiny spolu súvisiacich prvkov. Keďže funguje podobne ako bežný ovládací prvok, jeho obsah môže tvoriť len jeden samostatný prvok, preto ho odporúčam vyplniť Gridom alebo podobnými prvkami pre ďalšie použitie.
Jeho dôležitou vlastnosťou je Header (kategória Common), ktorá určuje text, ktorý sa bude zobrazovať v ľavom hornom rohu.
CheckBox
CheckBox v WPF slúži ako zaškrtávacie políčko.
Jeho aktivácia je možná viacerými spôsobmi, a ten ktorý budete používať je možné nastaviť. V kategórií Common nájdete vlastnosť ClickMode. Práve tá určuje spôsob, akým bude tlačidlo aktívne. Možnosti sú : Press – po stlačení tlačidla myši, Release – po pustení tlačidla myši a Hover – po prejdení ponad tlačidlo.
Ďalšou vlastnosťou je Content, ktorou je obsah CheckBoxu. Môže sa jednať o obyčajný text, ale aj o ľubovolný iný prvok. Dôležité sú IsChecked a IsThreeState. Tie vyberajú, či je CheckBox zaškrtnutý a či podporuje tri stavy.
Pokiaľ aktivujete vlastnosť IsThreeState, je možné nastaviť stav CheckBoxu ako „čiastočne zaškrtnutý“ – používateľ to môže spraviť ďalším kliknutím, ak už zaškrtnutý je. Ručne môžete zaškrtnutie nastaviť vlastnosťou IsChecked. Jedná sa o boolovskú hodnotu, pričom true znamená zaškrtnuté a false prázdne. Ak chcete CheckBox zaškrtnúť len čiastočne, môžete nastaviť hodnotu null.
XAML: IsChecked=“{x:Null}
C#: checkBox.IsChecked = null;
CheckBox má okrem týchto vlastností aj špecifický event Checked, ktorý je zavolaný vždy, keď sa zmení stav zaškrtnutia.
RadioButton
RadioButton je prepínateľné tlačidlo podobné CheckBoxu.
Rovnako aj pri CheckBoxe je mu možné nastaviť vlastnosti ClickMode, Content, IsChecked a IsThreeState, no má navyše ešte jednu zaujímavú vlastnosť.
RadioButton je totiž prepínateľný v rámci viacerých prvkov. Pokiaľ máte v jednom okne dva alebo viac RadioButtonov, tak vždy môže byť aktivovaný len jeden. Pokiaľ by ste potrebovali pridať ďalšie, ktoré sa budú aktivovať nezávisle na predošlých, potrebujete ich oddeliť. To je možné spraviť viacerými spôsobmi. Jedným spôsobom je vložiť ich do samostatného kontajneru (napríklad Gridu). Druhým spôsobom je použiť vlastnosť GroupName. RadioButtoni v jednej kategórií budú následne reagovať na seba, no nebudú ovplyvňovať tie v ostatných kategóriach.
RadioButton má rovnako ako CheckBox aj event Checked, ktorý sa zavolá vždy, keď sa zmení jeho zaškrtnutie.
Toto je však všetko, čo vám v dnešnom diely môžem ukázať a tak sa uvidíme zas nabudúce, keď si ukážeme TextBox, ComboBox a TextBlock.