From 5269d9126865233fde93c5554c26d6d4662ee892 Mon Sep 17 00:00:00 2001 From: Yimeng Wu Date: Sun, 10 Jul 2022 00:26:59 +0800 Subject: [PATCH] Merge feature/token-experiment to master and make default style to use 2.5 (microsoft/microsoft-ui-xaml#3887) --- .../DropDownButton/DropDownButton.xaml | 67 +- .../HyperlinkButton/HyperlinkButton.cs | 9 + .../HyperlinkButton/HyperlinkButton.xaml | 64 +- ModernWpf.Controls/ListView/ListView.xaml | 4 +- .../SplitButton/SplitButton.xaml | 33 +- ModernWpf/Controls/ContentControlEx.cs | 46 + ModernWpf/Controls/FontIconFallback.cs | 1 + ModernWpf/ProgressBar/ProgressBar.xaml | 7 +- ModernWpf/Styles/Button.xaml | 116 +- ModernWpf/Styles/ListBox.xaml | 24 +- ModernWpf/Styles/MenuItem.xaml | 2 +- ModernWpf/Styles/ProgressBar.xaml | 6 +- ModernWpf/Styles/RadioButton.xaml | 180 +- ModernWpf/Styles/Slider.xaml | 81 +- ModernWpf/Styles/ToggleButton.xaml | 105 +- ModernWpf/ThemeResources/Dark.xaml | 1447 +++++++++------- ModernWpf/ThemeResources/HighContrast.xaml | 217 ++- ModernWpf/ThemeResources/Light.xaml | 1453 ++++++++++------- ModernWpf/Themes/ContentControlEx.xaml | 24 + ModernWpf/Themes/FontIconFallback.xaml | 3 +- ModernWpf/Themes/Generic.xaml | 1 + .../ProgressBarReTemplatePage.xaml | 4 - .../NavigationViewTopNavStorePage.xaml | 2 +- 23 files changed, 2405 insertions(+), 1491 deletions(-) create mode 100644 ModernWpf/Controls/ContentControlEx.cs create mode 100644 ModernWpf/Themes/ContentControlEx.xaml diff --git a/ModernWpf.Controls/DropDownButton/DropDownButton.xaml b/ModernWpf.Controls/DropDownButton/DropDownButton.xaml index f0b076f9..6948735a 100644 --- a/ModernWpf.Controls/DropDownButton/DropDownButton.xaml +++ b/ModernWpf.Controls/DropDownButton/DropDownButton.xaml @@ -26,62 +26,59 @@ - M 18.935547 4.560547 L 19.814453 5.439453 L 10 15.253906 L 0.185547 5.439453 L 1.064453 4.560547 L 10 13.496094 Z + F1 M 17.568359 3.408203 L 19.931641 5.761719 L 10 15.693359 L 0.068359 5.761719 L 2.431641 3.408203 L 10 10.976562 L 17.568359 3.408203 Z - - - + + + + + - - - - + - - - - - + + - + - + + - + diff --git a/ModernWpf.Controls/HyperlinkButton/HyperlinkButton.cs b/ModernWpf.Controls/HyperlinkButton/HyperlinkButton.cs index 9c608893..e696107b 100644 --- a/ModernWpf.Controls/HyperlinkButton/HyperlinkButton.cs +++ b/ModernWpf.Controls/HyperlinkButton/HyperlinkButton.cs @@ -88,6 +88,15 @@ public Thickness FocusVisualMargin set => SetValue(FocusVisualMarginProperty, value); } + public static readonly DependencyProperty CornerRadiusProperty = + ControlHelper.CornerRadiusProperty.AddOwner(typeof(HyperlinkButton)); + + public CornerRadius CornerRadius + { + get => (CornerRadius)GetValue(CornerRadiusProperty); + set => SetValue(CornerRadiusProperty, value); + } + protected override AutomationPeer OnCreateAutomationPeer() { return new HyperlinkButtonAutomationPeer(this); diff --git a/ModernWpf.Controls/HyperlinkButton/HyperlinkButton.xaml b/ModernWpf.Controls/HyperlinkButton/HyperlinkButton.xaml index 05e0cc7a..919fc203 100644 --- a/ModernWpf.Controls/HyperlinkButton/HyperlinkButton.xaml +++ b/ModernWpf.Controls/HyperlinkButton/HyperlinkButton.xaml @@ -1,6 +1,7 @@  0,6,0,7 @@ -18,48 +19,47 @@ + - - - - - - - - - + Foreground="{TemplateBinding Foreground}" + BorderBrush="{TemplateBinding BorderBrush}" + BorderThickness="{TemplateBinding BorderThickness}" + Content="{TemplateBinding Content}" + ContentTemplate="{TemplateBinding ContentTemplate}" + ContentTemplateSelector="{TemplateBinding ContentTemplateSelector}" + ContentStringFormat="{TemplateBinding ContentStringFormat}" + Padding="{TemplateBinding Padding}" + CornerRadius="{TemplateBinding ui:ControlHelper.CornerRadius}" + HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" + VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" + RecognizesAccessKey="True" + SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"> + + - - - + + + - - - + + + - - - + + + diff --git a/ModernWpf.Controls/ListView/ListView.xaml b/ModernWpf.Controls/ListView/ListView.xaml index 7634393b..f9d7ce30 100644 --- a/ModernWpf.Controls/ListView/ListView.xaml +++ b/ModernWpf.Controls/ListView/ListView.xaml @@ -148,7 +148,7 @@ diff --git a/ModernWpf.Controls/SplitButton/SplitButton.xaml b/ModernWpf.Controls/SplitButton/SplitButton.xaml index bc23e2d2..9d10aba3 100644 --- a/ModernWpf.Controls/SplitButton/SplitButton.xaml +++ b/ModernWpf.Controls/SplitButton/SplitButton.xaml @@ -39,7 +39,7 @@ - M 18.935547 4.560547 L 19.814453 5.439453 L 10 15.253906 L 0.185547 5.439453 L 1.064453 4.560547 L 10 13.496094 Z + F1 M 17.568359 3.408203 L 19.931641 5.761719 L 10 15.693359 L 0.068359 5.761719 L 2.431641 3.408203 L 10 10.976562 L 17.568359 3.408203 Z + + @@ -206,7 +212,7 @@ - + @@ -214,7 +220,7 @@ - + @@ -222,6 +228,7 @@ + @@ -229,20 +236,23 @@ + - + + - + + @@ -252,6 +262,7 @@ + @@ -261,6 +272,7 @@ + @@ -270,6 +282,7 @@ + @@ -280,6 +293,7 @@ + @@ -290,6 +304,7 @@ + @@ -300,6 +315,7 @@ + @@ -310,6 +326,7 @@ + diff --git a/ModernWpf/Controls/ContentControlEx.cs b/ModernWpf/Controls/ContentControlEx.cs new file mode 100644 index 00000000..ddf97b74 --- /dev/null +++ b/ModernWpf/Controls/ContentControlEx.cs @@ -0,0 +1,46 @@ +using System.Windows; +using System.Windows.Controls; +using ModernWpf.Controls.Primitives; + +namespace ModernWpf.Controls +{ + public class ContentControlEx : ContentControl + { + static ContentControlEx() + { + DefaultStyleKeyProperty.OverrideMetadata(typeof(ContentControlEx), new FrameworkPropertyMetadata(typeof(ContentControlEx))); + HorizontalContentAlignmentProperty.OverrideMetadata(typeof(ContentControlEx), new FrameworkPropertyMetadata(HorizontalAlignment.Stretch)); + VerticalContentAlignmentProperty.OverrideMetadata(typeof(ContentControlEx), new FrameworkPropertyMetadata(VerticalAlignment.Stretch)); + } + + #region CornerRadius + + public static readonly DependencyProperty CornerRadiusProperty = + ControlHelper.CornerRadiusProperty.AddOwner(typeof(ContentControlEx)); + + public CornerRadius CornerRadius + { + get => (CornerRadius)GetValue(CornerRadiusProperty); + set => SetValue(CornerRadiusProperty, value); + } + + #endregion + + #region RecognizesAccessKey + + public static readonly DependencyProperty RecognizesAccessKeyProperty = + DependencyProperty.Register( + nameof(RecognizesAccessKey), + typeof(bool), + typeof(ContentControlEx), + new FrameworkPropertyMetadata(false)); + + public bool RecognizesAccessKey + { + get => (bool)GetValue(RecognizesAccessKeyProperty); + set => SetValue(RecognizesAccessKeyProperty, value); + } + + #endregion + } +} diff --git a/ModernWpf/Controls/FontIconFallback.cs b/ModernWpf/Controls/FontIconFallback.cs index da441674..bc7448d1 100644 --- a/ModernWpf/Controls/FontIconFallback.cs +++ b/ModernWpf/Controls/FontIconFallback.cs @@ -5,6 +5,7 @@ namespace ModernWpf.Controls { + // TODO: Use font icon if available [EditorBrowsable(EditorBrowsableState.Never)] public class FontIconFallback : Control { diff --git a/ModernWpf/ProgressBar/ProgressBar.xaml b/ModernWpf/ProgressBar/ProgressBar.xaml index 9beeb011..2745d42e 100644 --- a/ModernWpf/ProgressBar/ProgressBar.xaml +++ b/ModernWpf/ProgressBar/ProgressBar.xaml @@ -1,4 +1,5 @@  + + \ No newline at end of file diff --git a/ModernWpf/Themes/FontIconFallback.xaml b/ModernWpf/Themes/FontIconFallback.xaml index a63509f7..8b16ffa0 100644 --- a/ModernWpf/Themes/FontIconFallback.xaml +++ b/ModernWpf/Themes/FontIconFallback.xaml @@ -13,7 +13,8 @@ Width="{TemplateBinding FontSize}" Height="{TemplateBinding FontSize}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" - VerticalAlignment="{TemplateBinding VerticalContentAlignment}"> + VerticalAlignment="{TemplateBinding VerticalContentAlignment}" + Margin="{TemplateBinding Padding}"> + diff --git a/test/ModernWpfTestApp/ProgressBarReTemplatePage.xaml b/test/ModernWpfTestApp/ProgressBarReTemplatePage.xaml index 4aa64327..afe90142 100644 --- a/test/ModernWpfTestApp/ProgressBarReTemplatePage.xaml +++ b/test/ModernWpfTestApp/ProgressBarReTemplatePage.xaml @@ -10,10 +10,6 @@