Skip to content

Commit 4e977f5

Browse files
authored
Fixed tab navigation control in calendar (#9504)
* Fixed tab navigation control in calendar * Fixed tab navigation for year view in calendar * Reverting auto generated value of passwordchar
1 parent 4ed2a56 commit 4e977f5

File tree

4 files changed

+43
-39
lines changed

4 files changed

+43
-39
lines changed

src/Microsoft.DotNet.Wpf/src/Themes/PresentationFramework.Fluent/Styles/Calendar.xaml

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -307,14 +307,14 @@
307307
<Setter.Value>
308308
<ControlTemplate TargetType="{x:Type CalendarItem}">
309309
<Grid x:Name="PART_Root" Margin="12">
310-
<Grid KeyboardNavigation.TabNavigation="Cycle">
310+
<Grid KeyboardNavigation.TabNavigation="Local">
311311
<Grid.RowDefinitions>
312312
<RowDefinition Height="Auto" />
313313
<RowDefinition Height="*" />
314314
</Grid.RowDefinitions>
315315

316316
<!-- HINT: Header with title and navigation buttons -->
317-
<Grid Grid.Row="0" Margin="8,0,8,14">
317+
<Grid Grid.Row="0" Margin="8,0,8,14" KeyboardNavigation.TabIndex="0">
318318
<Grid.ColumnDefinitions>
319319
<ColumnDefinition Width="*" />
320320
<ColumnDefinition Width="Auto" />
@@ -331,8 +331,7 @@
331331
BorderBrush="Transparent"
332332
Focusable="True"
333333
FontSize="14"
334-
FontWeight="Bold"
335-
KeyboardNavigation.TabNavigation="Cycle"
334+
FontWeight="Bold"
336335
Foreground="{DynamicResource CalendarViewForeground}" />
337336
<Button
338337
x:Name="PART_PreviousButton"
@@ -346,8 +345,7 @@
346345
Background="Transparent"
347346
BorderBrush="Transparent"
348347
Focusable="True"
349-
AutomationProperties.Name="Previous"
350-
KeyboardNavigation.TabNavigation="Cycle"
348+
AutomationProperties.Name="Previous"
351349
Foreground="{DynamicResource CalendarViewButtonForeground}">
352350
<Button.Content>
353351
<TextBlock
@@ -369,7 +367,6 @@
369367
BorderBrush="Transparent"
370368
Focusable="True"
371369
AutomationProperties.Name="Next"
372-
KeyboardNavigation.TabNavigation="Contained"
373370
Foreground="{DynamicResource CalendarViewButtonForeground}">
374371
<Button.Content>
375372
<TextBlock
@@ -386,7 +383,8 @@
386383
Grid.Row="1"
387384
HorizontalAlignment="Center"
388385
VerticalAlignment="Center"
389-
KeyboardNavigation.TabNavigation="None"
386+
KeyboardNavigation.TabNavigation="Once"
387+
KeyboardNavigation.TabIndex="1"
390388
Visibility="Visible">
391389
<Grid.ColumnDefinitions>
392390
<ColumnDefinition Width="Auto" />
@@ -411,8 +409,10 @@
411409
<Border
412410
Grid.Row="1"
413411
HorizontalAlignment="Center"
414-
VerticalAlignment="Center">
415-
<Grid x:Name="PART_YearView" Visibility="Hidden" KeyboardNavigation.TabNavigation="None">
412+
VerticalAlignment="Center"
413+
KeyboardNavigation.TabNavigation="Once"
414+
KeyboardNavigation.TabIndex="1">
415+
<Grid x:Name="PART_YearView" Visibility="Hidden">
416416
<Grid.ColumnDefinitions>
417417
<ColumnDefinition Width="Auto" />
418418
<ColumnDefinition Width="Auto" />
@@ -437,7 +437,9 @@
437437
Stretch="Fill"
438438
Stroke="Transparent"
439439
StrokeThickness="0"
440-
Visibility="Collapsed">
440+
Visibility="Collapsed"
441+
KeyboardNavigation.TabNavigation="Once"
442+
KeyboardNavigation.TabIndex="1">
441443
<Rectangle.Fill>
442444
<SolidColorBrush Color="{DynamicResource ControlFillColorDefault}" />
443445
</Rectangle.Fill>

src/Microsoft.DotNet.Wpf/src/Themes/PresentationFramework.Fluent/Themes/Fluent.Dark.xaml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -941,32 +941,32 @@
941941
<Setter.Value>
942942
<ControlTemplate TargetType="{x:Type CalendarItem}">
943943
<Grid x:Name="PART_Root" Margin="12">
944-
<Grid KeyboardNavigation.TabNavigation="Cycle">
944+
<Grid KeyboardNavigation.TabNavigation="Local">
945945
<Grid.RowDefinitions>
946946
<RowDefinition Height="Auto" />
947947
<RowDefinition Height="*" />
948948
</Grid.RowDefinitions>
949949
<!-- HINT: Header with title and navigation buttons -->
950-
<Grid Grid.Row="0" Margin="8,0,8,14">
950+
<Grid Grid.Row="0" Margin="8,0,8,14" KeyboardNavigation.TabIndex="0">
951951
<Grid.ColumnDefinitions>
952952
<ColumnDefinition Width="*" />
953953
<ColumnDefinition Width="Auto" />
954954
<ColumnDefinition Width="Auto" />
955955
</Grid.ColumnDefinitions>
956-
<Button x:Name="PART_HeaderButton" Grid.Column="0" Margin="-6,0,0,0" Padding="6,2" HorizontalAlignment="Left" VerticalAlignment="Center" Background="Transparent" BorderBrush="Transparent" Focusable="True" FontSize="14" FontWeight="Bold" KeyboardNavigation.TabNavigation="Cycle" Foreground="{DynamicResource CalendarViewForeground}" />
957-
<Button x:Name="PART_PreviousButton" Grid.Column="1" Width="26" Height="26" Margin="0,0,8,0" Padding="0" HorizontalAlignment="Right" VerticalAlignment="Center" Background="Transparent" BorderBrush="Transparent" Focusable="True" AutomationProperties.Name="Previous" KeyboardNavigation.TabNavigation="Cycle" Foreground="{DynamicResource CalendarViewButtonForeground}">
956+
<Button x:Name="PART_HeaderButton" Grid.Column="0" Margin="-6,0,0,0" Padding="6,2" HorizontalAlignment="Left" VerticalAlignment="Center" Background="Transparent" BorderBrush="Transparent" Focusable="True" FontSize="14" FontWeight="Bold" Foreground="{DynamicResource CalendarViewForeground}" />
957+
<Button x:Name="PART_PreviousButton" Grid.Column="1" Width="26" Height="26" Margin="0,0,8,0" Padding="0" HorizontalAlignment="Right" VerticalAlignment="Center" Background="Transparent" BorderBrush="Transparent" Focusable="True" AutomationProperties.Name="Previous" Foreground="{DynamicResource CalendarViewButtonForeground}">
958958
<Button.Content>
959959
<TextBlock FontSize="8" FontFamily="{DynamicResource SegoeFluentIcons}"></TextBlock>
960960
</Button.Content>
961961
</Button>
962-
<Button x:Name="PART_NextButton" Grid.Column="2" Width="26" Height="26" Margin="0" Padding="0" HorizontalAlignment="Right" VerticalAlignment="Center" Background="Transparent" BorderBrush="Transparent" Focusable="True" AutomationProperties.Name="Next" KeyboardNavigation.TabNavigation="Contained" Foreground="{DynamicResource CalendarViewButtonForeground}">
962+
<Button x:Name="PART_NextButton" Grid.Column="2" Width="26" Height="26" Margin="0" Padding="0" HorizontalAlignment="Right" VerticalAlignment="Center" Background="Transparent" BorderBrush="Transparent" Focusable="True" AutomationProperties.Name="Next" Foreground="{DynamicResource CalendarViewButtonForeground}">
963963
<Button.Content>
964964
<TextBlock FontSize="8" FontFamily="{DynamicResource SegoeFluentIcons}"></TextBlock>
965965
</Button.Content>
966966
</Button>
967967
</Grid>
968968
<!-- HINT: Day picker -->
969-
<Grid x:Name="PART_MonthView" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" KeyboardNavigation.TabNavigation="None" Visibility="Visible">
969+
<Grid x:Name="PART_MonthView" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" KeyboardNavigation.TabNavigation="Once" KeyboardNavigation.TabIndex="1" Visibility="Visible">
970970
<Grid.ColumnDefinitions>
971971
<ColumnDefinition Width="Auto" />
972972
<ColumnDefinition Width="Auto" />
@@ -986,8 +986,8 @@
986986
<RowDefinition Height="Auto" />
987987
</Grid.RowDefinitions>
988988
</Grid>
989-
<Border Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center">
990-
<Grid x:Name="PART_YearView" Visibility="Hidden" KeyboardNavigation.TabNavigation="None">
989+
<Border Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" KeyboardNavigation.TabNavigation="Once" KeyboardNavigation.TabIndex="1">
990+
<Grid x:Name="PART_YearView" Visibility="Hidden">
991991
<Grid.ColumnDefinitions>
992992
<ColumnDefinition Width="Auto" />
993993
<ColumnDefinition Width="Auto" />
@@ -1001,7 +1001,7 @@
10011001
</Grid.RowDefinitions>
10021002
</Grid>
10031003
</Border>
1004-
<Rectangle x:Name="PART_DisabledVisual" Grid.Row="0" Grid.RowSpan="2" Opacity="0" RadiusX="2" RadiusY="2" Stretch="Fill" Stroke="Transparent" StrokeThickness="0" Visibility="Collapsed">
1004+
<Rectangle x:Name="PART_DisabledVisual" Grid.Row="0" Grid.RowSpan="2" Opacity="0" RadiusX="2" RadiusY="2" Stretch="Fill" Stroke="Transparent" StrokeThickness="0" Visibility="Collapsed" KeyboardNavigation.TabNavigation="Once" KeyboardNavigation.TabIndex="1">
10051005
<Rectangle.Fill>
10061006
<SolidColorBrush Color="{DynamicResource ControlFillColorDefault}" />
10071007
</Rectangle.Fill>

src/Microsoft.DotNet.Wpf/src/Themes/PresentationFramework.Fluent/Themes/Fluent.HC.xaml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -915,32 +915,32 @@
915915
<Setter.Value>
916916
<ControlTemplate TargetType="{x:Type CalendarItem}">
917917
<Grid x:Name="PART_Root" Margin="12">
918-
<Grid KeyboardNavigation.TabNavigation="Cycle">
918+
<Grid KeyboardNavigation.TabNavigation="Local">
919919
<Grid.RowDefinitions>
920920
<RowDefinition Height="Auto" />
921921
<RowDefinition Height="*" />
922922
</Grid.RowDefinitions>
923923
<!-- HINT: Header with title and navigation buttons -->
924-
<Grid Grid.Row="0" Margin="8,0,8,14">
924+
<Grid Grid.Row="0" Margin="8,0,8,14" KeyboardNavigation.TabIndex="0">
925925
<Grid.ColumnDefinitions>
926926
<ColumnDefinition Width="*" />
927927
<ColumnDefinition Width="Auto" />
928928
<ColumnDefinition Width="Auto" />
929929
</Grid.ColumnDefinitions>
930-
<Button x:Name="PART_HeaderButton" Grid.Column="0" Margin="-6,0,0,0" Padding="6,2" HorizontalAlignment="Left" VerticalAlignment="Center" Background="Transparent" BorderBrush="Transparent" Focusable="True" FontSize="14" FontWeight="Bold" KeyboardNavigation.TabNavigation="Cycle" Foreground="{DynamicResource CalendarViewForeground}" />
931-
<Button x:Name="PART_PreviousButton" Grid.Column="1" Width="26" Height="26" Margin="0,0,8,0" Padding="0" HorizontalAlignment="Right" VerticalAlignment="Center" Background="Transparent" BorderBrush="Transparent" Focusable="True" AutomationProperties.Name="Previous" KeyboardNavigation.TabNavigation="Cycle" Foreground="{DynamicResource CalendarViewButtonForeground}">
930+
<Button x:Name="PART_HeaderButton" Grid.Column="0" Margin="-6,0,0,0" Padding="6,2" HorizontalAlignment="Left" VerticalAlignment="Center" Background="Transparent" BorderBrush="Transparent" Focusable="True" FontSize="14" FontWeight="Bold" Foreground="{DynamicResource CalendarViewForeground}" />
931+
<Button x:Name="PART_PreviousButton" Grid.Column="1" Width="26" Height="26" Margin="0,0,8,0" Padding="0" HorizontalAlignment="Right" VerticalAlignment="Center" Background="Transparent" BorderBrush="Transparent" Focusable="True" AutomationProperties.Name="Previous" Foreground="{DynamicResource CalendarViewButtonForeground}">
932932
<Button.Content>
933933
<TextBlock FontSize="8" FontFamily="{DynamicResource SegoeFluentIcons}"></TextBlock>
934934
</Button.Content>
935935
</Button>
936-
<Button x:Name="PART_NextButton" Grid.Column="2" Width="26" Height="26" Margin="0" Padding="0" HorizontalAlignment="Right" VerticalAlignment="Center" Background="Transparent" BorderBrush="Transparent" Focusable="True" AutomationProperties.Name="Next" KeyboardNavigation.TabNavigation="Contained" Foreground="{DynamicResource CalendarViewButtonForeground}">
936+
<Button x:Name="PART_NextButton" Grid.Column="2" Width="26" Height="26" Margin="0" Padding="0" HorizontalAlignment="Right" VerticalAlignment="Center" Background="Transparent" BorderBrush="Transparent" Focusable="True" AutomationProperties.Name="Next" Foreground="{DynamicResource CalendarViewButtonForeground}">
937937
<Button.Content>
938938
<TextBlock FontSize="8" FontFamily="{DynamicResource SegoeFluentIcons}"></TextBlock>
939939
</Button.Content>
940940
</Button>
941941
</Grid>
942942
<!-- HINT: Day picker -->
943-
<Grid x:Name="PART_MonthView" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" KeyboardNavigation.TabNavigation="None" Visibility="Visible">
943+
<Grid x:Name="PART_MonthView" Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" KeyboardNavigation.TabNavigation="Once" KeyboardNavigation.TabIndex="1" Visibility="Visible">
944944
<Grid.ColumnDefinitions>
945945
<ColumnDefinition Width="Auto" />
946946
<ColumnDefinition Width="Auto" />
@@ -960,8 +960,8 @@
960960
<RowDefinition Height="Auto" />
961961
</Grid.RowDefinitions>
962962
</Grid>
963-
<Border Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center">
964-
<Grid x:Name="PART_YearView" Visibility="Hidden" KeyboardNavigation.TabNavigation="None">
963+
<Border Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" KeyboardNavigation.TabNavigation="Once" KeyboardNavigation.TabIndex="1">
964+
<Grid x:Name="PART_YearView" Visibility="Hidden">
965965
<Grid.ColumnDefinitions>
966966
<ColumnDefinition Width="Auto" />
967967
<ColumnDefinition Width="Auto" />
@@ -975,7 +975,7 @@
975975
</Grid.RowDefinitions>
976976
</Grid>
977977
</Border>
978-
<Rectangle x:Name="PART_DisabledVisual" Grid.Row="0" Grid.RowSpan="2" Opacity="0" RadiusX="2" RadiusY="2" Stretch="Fill" Stroke="Transparent" StrokeThickness="0" Visibility="Collapsed">
978+
<Rectangle x:Name="PART_DisabledVisual" Grid.Row="0" Grid.RowSpan="2" Opacity="0" RadiusX="2" RadiusY="2" Stretch="Fill" Stroke="Transparent" StrokeThickness="0" Visibility="Collapsed" KeyboardNavigation.TabNavigation="Once" KeyboardNavigation.TabIndex="1">
979979
<Rectangle.Fill>
980980
<SolidColorBrush Color="{DynamicResource ControlFillColorDefault}" />
981981
</Rectangle.Fill>

0 commit comments

Comments
 (0)