From 912281ffc695b1145b087ce68b6194c57b20d3a3 Mon Sep 17 00:00:00 2001 From: Benedikt Stebner Date: Wed, 5 Nov 2025 16:03:40 +0100 Subject: [PATCH] Make ContentPresenter.RecognizesAccessKey stylable (#19893) * Make HyperlinkButton's ContentPresenter.RecognizesAccessKey stylable * Adjust all controls that are using RecognizesAccessKey --- .../Themes/Fluent/ColorView.xaml | 5 ++++- .../Themes/Simple/ColorView.xaml | 5 ++++- src/Avalonia.Themes.Fluent/Controls/Button.xaml | 5 ++++- src/Avalonia.Themes.Fluent/Controls/CheckBox.xaml | 5 ++++- .../Controls/DropDownButton.xaml | 5 ++++- .../Controls/HeaderedContentControl.xaml | 11 +++++++++-- .../Controls/HyperlinkButton.xaml | 7 +++++-- src/Avalonia.Themes.Fluent/Controls/Label.xaml | 5 ++++- src/Avalonia.Themes.Fluent/Controls/Menu.xaml | 5 ++++- src/Avalonia.Themes.Fluent/Controls/MenuItem.xaml | 5 ++++- src/Avalonia.Themes.Fluent/Controls/RadioButton.xaml | 7 +++++-- src/Avalonia.Themes.Fluent/Controls/SplitButton.xaml | 5 ++++- src/Avalonia.Themes.Fluent/Controls/TabItem.xaml | 5 ++++- src/Avalonia.Themes.Fluent/Controls/ToggleButton.xaml | 5 ++++- src/Avalonia.Themes.Fluent/Controls/ToggleSwitch.xaml | 7 +++++-- src/Avalonia.Themes.Simple/Controls/Button.xaml | 6 +++++- src/Avalonia.Themes.Simple/Controls/CheckBox.xaml | 6 +++++- .../Controls/DropDownButton.xaml | 7 +++++-- .../Controls/HeaderedContentControl.xaml | 10 ++++++++-- .../Controls/HyperlinkButton.xaml | 5 ++++- src/Avalonia.Themes.Simple/Controls/Label.xaml | 7 +++++-- src/Avalonia.Themes.Simple/Controls/RadioButton.xaml | 7 +++++-- src/Avalonia.Themes.Simple/Controls/SplitButton.xaml | 5 ++++- src/Avalonia.Themes.Simple/Controls/TabItem.xaml | 6 +++++- src/Avalonia.Themes.Simple/Controls/ToggleButton.xaml | 6 +++++- src/Avalonia.Themes.Simple/Controls/ToggleSwitch.xaml | 5 ++++- 26 files changed, 123 insertions(+), 34 deletions(-) diff --git a/src/Avalonia.Controls.ColorPicker/Themes/Fluent/ColorView.xaml b/src/Avalonia.Controls.ColorPicker/Themes/Fluent/ColorView.xaml index e4a8ecace4..ad517e8e80 100644 --- a/src/Avalonia.Controls.ColorPicker/Themes/Fluent/ColorView.xaml +++ b/src/Avalonia.Controls.ColorPicker/Themes/Fluent/ColorView.xaml @@ -185,12 +185,15 @@ Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" Padding="{TemplateBinding Padding}" - RecognizesAccessKey="True" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" /> + + + + + + + + + diff --git a/src/Avalonia.Themes.Fluent/Controls/HyperlinkButton.xaml b/src/Avalonia.Themes.Fluent/Controls/HyperlinkButton.xaml index a4fc791744..8b390a988a 100644 --- a/src/Avalonia.Themes.Fluent/Controls/HyperlinkButton.xaml +++ b/src/Avalonia.Themes.Fluent/Controls/HyperlinkButton.xaml @@ -5,7 +5,7 @@ - + @@ -42,12 +42,15 @@ Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" Padding="{TemplateBinding Padding}" - RecognizesAccessKey="True" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" /> + + diff --git a/src/Avalonia.Themes.Fluent/Controls/Menu.xaml b/src/Avalonia.Themes.Fluent/Controls/Menu.xaml index 2d326c36f4..a0b0ce762f 100644 --- a/src/Avalonia.Themes.Fluent/Controls/Menu.xaml +++ b/src/Avalonia.Themes.Fluent/Controls/Menu.xaml @@ -31,7 +31,6 @@ ContentTemplate="{TemplateBinding HeaderTemplate}" VerticalAlignment="Center" HorizontalAlignment="Stretch" - RecognizesAccessKey="True" Margin="{TemplateBinding Padding}"/> + + + diff --git a/src/Avalonia.Themes.Fluent/Controls/RadioButton.xaml b/src/Avalonia.Themes.Fluent/Controls/RadioButton.xaml index 75be504e59..07ab1d3950 100644 --- a/src/Avalonia.Themes.Fluent/Controls/RadioButton.xaml +++ b/src/Avalonia.Themes.Fluent/Controls/RadioButton.xaml @@ -71,13 +71,16 @@ VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" - Foreground="{TemplateBinding Foreground}" - RecognizesAccessKey="True" /> + Foreground="{TemplateBinding Foreground}" /> + + + + + + diff --git a/src/Avalonia.Themes.Simple/Controls/Button.xaml b/src/Avalonia.Themes.Simple/Controls/Button.xaml index 5599e49ae1..e99884221f 100644 --- a/src/Avalonia.Themes.Simple/Controls/Button.xaml +++ b/src/Avalonia.Themes.Simple/Controls/Button.xaml @@ -22,10 +22,14 @@ Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" CornerRadius="{TemplateBinding CornerRadius}" - RecognizesAccessKey="True" TextElement.Foreground="{TemplateBinding Foreground}" /> + + + diff --git a/src/Avalonia.Themes.Simple/Controls/CheckBox.xaml b/src/Avalonia.Themes.Simple/Controls/CheckBox.xaml index 68e969c140..47c03bcce5 100644 --- a/src/Avalonia.Themes.Simple/Controls/CheckBox.xaml +++ b/src/Avalonia.Themes.Simple/Controls/CheckBox.xaml @@ -49,11 +49,15 @@ ContentTemplate="{TemplateBinding ContentTemplate}" IsVisible="{TemplateBinding Content, Converter={x:Static ObjectConverters.IsNotNull}}" - RecognizesAccessKey="True" TextElement.Foreground="{TemplateBinding Foreground}" /> + + + diff --git a/src/Avalonia.Themes.Simple/Controls/DropDownButton.xaml b/src/Avalonia.Themes.Simple/Controls/DropDownButton.xaml index 6d79d420f3..e58dd07812 100644 --- a/src/Avalonia.Themes.Simple/Controls/DropDownButton.xaml +++ b/src/Avalonia.Themes.Simple/Controls/DropDownButton.xaml @@ -31,8 +31,7 @@ HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" Content="{TemplateBinding Content}" - ContentTemplate="{TemplateBinding ContentTemplate}" - RecognizesAccessKey="True" /> + ContentTemplate="{TemplateBinding ContentTemplate}" /> + + + + diff --git a/src/Avalonia.Themes.Simple/Controls/HyperlinkButton.xaml b/src/Avalonia.Themes.Simple/Controls/HyperlinkButton.xaml index ef344d6696..7239d19474 100644 --- a/src/Avalonia.Themes.Simple/Controls/HyperlinkButton.xaml +++ b/src/Avalonia.Themes.Simple/Controls/HyperlinkButton.xaml @@ -33,12 +33,15 @@ Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" Padding="{TemplateBinding Padding}" - RecognizesAccessKey="True" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" /> + + diff --git a/src/Avalonia.Themes.Simple/Controls/Label.xaml b/src/Avalonia.Themes.Simple/Controls/Label.xaml index 2c9bb15742..23e0db8467 100644 --- a/src/Avalonia.Themes.Simple/Controls/Label.xaml +++ b/src/Avalonia.Themes.Simple/Controls/Label.xaml @@ -15,9 +15,12 @@ BorderThickness="{TemplateBinding BorderThickness}" Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" - CornerRadius="{TemplateBinding CornerRadius}" - RecognizesAccessKey="True" /> + CornerRadius="{TemplateBinding CornerRadius}" /> + + diff --git a/src/Avalonia.Themes.Simple/Controls/RadioButton.xaml b/src/Avalonia.Themes.Simple/Controls/RadioButton.xaml index ea138d8806..0cfbe6ca57 100644 --- a/src/Avalonia.Themes.Simple/Controls/RadioButton.xaml +++ b/src/Avalonia.Themes.Simple/Controls/RadioButton.xaml @@ -36,12 +36,15 @@ Margin="4,0,0,0" VerticalAlignment="Center" Content="{TemplateBinding Content}" - ContentTemplate="{TemplateBinding ContentTemplate}" - RecognizesAccessKey="True" /> + ContentTemplate="{TemplateBinding ContentTemplate}" /> + + diff --git a/src/Avalonia.Themes.Simple/Controls/SplitButton.xaml b/src/Avalonia.Themes.Simple/Controls/SplitButton.xaml index 7562c9151e..ba99e8bfb2 100644 --- a/src/Avalonia.Themes.Simple/Controls/SplitButton.xaml +++ b/src/Avalonia.Themes.Simple/Controls/SplitButton.xaml @@ -38,12 +38,15 @@ Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" Padding="{TemplateBinding Padding}" - RecognizesAccessKey="True" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" /> + + + diff --git a/src/Avalonia.Themes.Simple/Controls/ToggleButton.xaml b/src/Avalonia.Themes.Simple/Controls/ToggleButton.xaml index ad05f15f84..b908df5f4f 100644 --- a/src/Avalonia.Themes.Simple/Controls/ToggleButton.xaml +++ b/src/Avalonia.Themes.Simple/Controls/ToggleButton.xaml @@ -22,10 +22,14 @@ Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" CornerRadius="{TemplateBinding CornerRadius}" - RecognizesAccessKey="True" TextElement.Foreground="{TemplateBinding Foreground}" /> + + + +