Skip to content

Commit 7f69ff1

Browse files
authored
Make ContentPresenter.RecognizesAccessKey stylable (#19893)
* Make HyperlinkButton's ContentPresenter.RecognizesAccessKey stylable * Adjust all controls that are using RecognizesAccessKey
1 parent 99db0e1 commit 7f69ff1

28 files changed

+140
-38
lines changed

src/Avalonia.Controls.ColorPicker/Themes/Fluent/ColorView.xaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,12 +185,15 @@
185185
Content="{TemplateBinding Content}"
186186
ContentTemplate="{TemplateBinding ContentTemplate}"
187187
Padding="{TemplateBinding Padding}"
188-
RecognizesAccessKey="True"
189188
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
190189
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" />
191190
</ControlTemplate>
192191
</Setter>
193192

193+
<Style Selector="^ /template/ ContentPresenter#PART_ContentPresenter">
194+
<Setter Property="RecognizesAccessKey" Value="True" />
195+
</Style>
196+
194197
<Style Selector="^:pointerover /template/ ContentPresenter#PART_ContentPresenter">
195198
<Setter Property="Background" Value="{DynamicResource ToggleButtonBackgroundPointerOver}" />
196199
<Setter Property="BorderBrush" Value="{DynamicResource ToggleButtonBorderBrushPointerOver}" />

src/Avalonia.Controls.ColorPicker/Themes/Simple/ColorView.xaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,12 +183,15 @@
183183
Content="{TemplateBinding Content}"
184184
ContentTemplate="{TemplateBinding ContentTemplate}"
185185
Padding="{TemplateBinding Padding}"
186-
RecognizesAccessKey="True"
187186
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
188187
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" />
189188
</ControlTemplate>
190189
</Setter>
191190

191+
<Style Selector="^ /template/ ContentPresenter#PART_ContentPresenter">
192+
<Setter Property="RecognizesAccessKey" Value="True" />
193+
</Style>
194+
192195
<Style Selector="^:checked /template/ ContentPresenter#PART_ContentPresenter">
193196
<Setter Property="Background" Value="{DynamicResource ThemeControlHighBrush}" />
194197
<Setter Property="BorderBrush" Value="{DynamicResource ThemeBorderMidBrush}" />

src/Avalonia.Themes.Fluent/Controls/Button.xaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,15 @@
3636
Content="{TemplateBinding Content}"
3737
ContentTemplate="{TemplateBinding ContentTemplate}"
3838
Padding="{TemplateBinding Padding}"
39-
RecognizesAccessKey="True"
4039
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
4140
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" />
4241
</ControlTemplate>
4342
</Setter>
4443

44+
<Style Selector="^ /template/ ContentPresenter#PART_ContentPresenter">
45+
<Setter Property="RecognizesAccessKey" Value="True" />
46+
</Style>
47+
4548
<Style Selector="^:pointerover /template/ ContentPresenter#PART_ContentPresenter">
4649
<Setter Property="Background" Value="{DynamicResource ButtonBackgroundPointerOver}" />
4750
<Setter Property="BorderBrush" Value="{DynamicResource ButtonBorderBrushPointerOver}" />

src/Avalonia.Themes.Fluent/Controls/CheckBox.xaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@
6262
ContentTemplate="{TemplateBinding ContentTemplate}"
6363
Content="{TemplateBinding Content}"
6464
Margin="{TemplateBinding Padding}"
65-
RecognizesAccessKey="True"
6665
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
6766
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
6867
TextWrapping="Wrap"
@@ -71,6 +70,10 @@
7170
</ControlTemplate>
7271
</Setter>
7372

73+
<Style Selector="^ /template/ ContentPresenter#PART_ContentPresenter">
74+
<Setter Property="RecognizesAccessKey" Value="True" />
75+
</Style>
76+
7477
<!-- Unchecked PointerOver State -->
7578
<Style Selector="^:pointerover">
7679
<Style Selector="^ /template/ ContentPresenter#PART_ContentPresenter">

src/Avalonia.Themes.Fluent/Controls/DropDownButton.xaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
Content="{TemplateBinding Content}"
4545
ContentTemplate="{TemplateBinding ContentTemplate}"
4646
Padding="{TemplateBinding Padding}"
47-
RecognizesAccessKey="True"
4847
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
4948
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" />
5049

@@ -65,6 +64,10 @@
6564
</Setter.Value>
6665
</Setter>
6766

67+
<Style Selector="^ /template/ ContentPresenter#PART_ContentPresenter">
68+
<Setter Property="RecognizesAccessKey" Value="True" />
69+
</Style>
70+
6871
<!-- PointerOver State -->
6972
<Style Selector="^:pointerover /template/ Border#RootBorder">
7073
<Setter Property="Background" Value="{DynamicResource ButtonBackgroundPointerOver}" />

src/Avalonia.Themes.Fluent/Controls/GroupBox.xaml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@
5656
Grid.Column="1">
5757
<ContentPresenter Name="PART_HeaderPresenter"
5858
Content="{TemplateBinding Header}"
59-
RecognizesAccessKey="True"
6059
FontSize="{DynamicResource GroupBoxHeaderFontSize}"
6160
Foreground="{DynamicResource GroupBoxHeaderForeground}"
6261
ContentTemplate="{TemplateBinding HeaderTemplate}"
@@ -71,13 +70,21 @@
7170
Name="PART_ContentPresenter"
7271
ContentTemplate="{TemplateBinding ContentTemplate}"
7372
Content="{TemplateBinding Content}"
74-
RecognizesAccessKey="True"
7573
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
7674
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
7775
UseLayoutRounding="{TemplateBinding UseLayoutRounding}"
7876
Margin="{TemplateBinding Padding}" />
7977
</Grid>
8078
</ControlTemplate>
8179
</Setter>
80+
81+
<Style Selector="^ /template/ ContentPresenter#PART_ContentPresenter">
82+
<Setter Property="RecognizesAccessKey" Value="True" />
83+
</Style>
84+
85+
<Style Selector="^ /template/ ContentPresenter#PART_HeaderPresenter">
86+
<Setter Property="RecognizesAccessKey" Value="True" />
87+
</Style>
88+
8289
</ControlTheme>
8390
</ResourceDictionary>

src/Avalonia.Themes.Fluent/Controls/HeaderedContentControl.xaml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,28 @@
1515
<Grid RowDefinitions="auto *">
1616
<ContentPresenter Name="PART_HeaderPresenter"
1717
Content="{TemplateBinding Header}"
18-
RecognizesAccessKey="True"
1918
ContentTemplate="{TemplateBinding HeaderTemplate}"
2019
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
2120
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
2221
Grid.Row="0" />
2322
<ContentPresenter Name="PART_ContentPresenter"
2423
ContentTemplate="{TemplateBinding ContentTemplate}"
2524
Content="{TemplateBinding Content}"
26-
RecognizesAccessKey="True"
2725
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
2826
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
2927
Grid.Row="1" />
3028
</Grid>
3129
</Border>
3230
</ControlTemplate>
3331
</Setter>
32+
33+
<Style Selector="^ /template/ ContentPresenter#PART_ContentPresenter">
34+
<Setter Property="RecognizesAccessKey" Value="True" />
35+
</Style>
36+
37+
<Style Selector="^ /template/ ContentPresenter#PART_HeaderPresenter">
38+
<Setter Property="RecognizesAccessKey" Value="True" />
39+
</Style>
40+
3441
</ControlTheme>
3542
</ResourceDictionary>

src/Avalonia.Themes.Fluent/Controls/HyperlinkButton.xaml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<Design.PreviewWith>
66
<Border Padding="20">
77
<StackPanel Spacing="20">
8-
<HyperlinkButton Content="Click Me!" />
8+
<HyperlinkButton Content="_Click Me!" />
99
</StackPanel>
1010
</Border>
1111
</Design.PreviewWith>
@@ -42,12 +42,15 @@
4242
Content="{TemplateBinding Content}"
4343
ContentTemplate="{TemplateBinding ContentTemplate}"
4444
Padding="{TemplateBinding Padding}"
45-
RecognizesAccessKey="True"
4645
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
4746
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" />
4847
</ControlTemplate>
4948
</Setter>
5049

50+
<Style Selector="^ /template/ ContentPresenter#PART_ContentPresenter">
51+
<Setter Property="RecognizesAccessKey" Value="True" />
52+
</Style>
53+
5154
<Style Selector="^:pointerover /template/ ContentPresenter#PART_ContentPresenter">
5255
<Setter Property="Background" Value="{DynamicResource HyperlinkButtonBackgroundPointerOver}" />
5356
<Setter Property="BorderBrush" Value="{DynamicResource HyperlinkButtonBorderBrushPointerOver}" />

src/Avalonia.Themes.Fluent/Controls/Label.xaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,13 @@
1414
ContentTemplate="{TemplateBinding ContentTemplate}"
1515
Content="{TemplateBinding Content}"
1616
Padding="{TemplateBinding Padding}"
17-
RecognizesAccessKey="True"
1817
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
1918
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"/>
2019
</ControlTemplate>
2120
</Setter>
21+
22+
<Style Selector="^ /template/ ContentPresenter#PART_ContentPresenter">
23+
<Setter Property="RecognizesAccessKey" Value="True" />
24+
</Style>
2225
</ControlTheme>
2326
</ResourceDictionary>

src/Avalonia.Themes.Fluent/Controls/Menu.xaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
ContentTemplate="{TemplateBinding HeaderTemplate}"
3232
VerticalAlignment="Center"
3333
HorizontalAlignment="Stretch"
34-
RecognizesAccessKey="True"
3534
Margin="{TemplateBinding Padding}"/>
3635
<Popup Name="PART_Popup"
3736
WindowManagerAddShadowHint="False"
@@ -61,6 +60,10 @@
6160
</ControlTemplate>
6261
</Setter>
6362

63+
<Style Selector="^ /template/ ContentPresenter#PART_HeaderPresenter">
64+
<Setter Property="RecognizesAccessKey" Value="True" />
65+
</Style>
66+
6467
<Style Selector="^:selected">
6568
<Style Selector="^ /template/ Border#PART_LayoutRoot">
6669
<Setter Property="Background" Value="{DynamicResource MenuFlyoutItemBackgroundPointerOver}" />

0 commit comments

Comments
 (0)