Pokud si okno skládáte ručně, tak si zpravidla vystačíte s nastavováním TabIndexů, které určí pořadí editace při stisknutí klávesy Tab. Jelikož mám editor postavený dynamicky přes ItemsControl, tak jsem TabIndex nevyužil. Klávesou Tab naviguji z jedné položky ItemsControl na druhou.
Celkem zajímavá je ale možnost ale ovlivnit možnost navigace klávesnící ItemsControl, připadně v jiném kontejnéru.
Navigaci klávesnící ovlivním snadno přes třídu - KeyboardNavigation.
V MSDN si o tom můžete přečíst ZDE.
Navigaci přes Tabulátor ovlivníte - KeyboardNavigation.TabNavigation
Směrovou navigaci přes šipky ovlivníte - KeyboardNavigation.DirectionalNavigation
A možnosti jsou následující: Contained, Continue, Cycle, Local, None, Once
Nejlépe je si chování vyzkoušet na příkladu:
<GroupBox Header="Check Boxes" KeyboardNavigation.TabNavigation="Once" Height="126" HorizontalAlignment="Left" VerticalAlignment="Top" Width="200"> <StackPanel Margin="8"> <CheckBox Content="Check Box 1"/> <CheckBox Content="Check Box 2"/> <CheckBox Content="Check Box 3"/> <CheckBox Content="Check Box 4"/> <CheckBox Content="Check Box 5"/> </StackPanel> </GroupBox> <GroupBox x:Name="gbRadio" Header="Radio Buttons" Height="126" VerticalAlignment="Top" Margin="206,0,107,0"> <StackPanel Margin="8"> <RadioButton x:Name="radio1" Content="Radio Button 1"/> <RadioButton Content="Radio Button 2"/> <RadioButton Content="Radio Button 3"/> <RadioButton Content="Radio Button 4"/> <RadioButton Content="Radio Button 5"/> </StackPanel> </GroupBox>
A přitom taková blbost, ale potěší :).
Žádné komentáře:
Okomentovat