From 43fcb52219b25818e32dea947171d79f6a06c625 Mon Sep 17 00:00:00 2001 From: Max Katz Date: Sun, 20 Dec 2020 07:29:53 -0500 Subject: [PATCH 1/3] [Fluent] Prefer DynamicResource for resources used in controls --- src/Avalonia.Themes.Fluent/Controls/Button.xaml | 3 +-- .../Controls/CalendarDatePicker.xaml | 2 +- src/Avalonia.Themes.Fluent/Controls/DatePicker.xaml | 4 ++-- src/Avalonia.Themes.Fluent/Controls/FocusAdorner.xaml | 6 +++--- src/Avalonia.Themes.Fluent/Controls/ListBoxItem.xaml | 2 +- src/Avalonia.Themes.Fluent/Controls/Menu.xaml | 2 +- src/Avalonia.Themes.Fluent/Controls/MenuItem.xaml | 6 +++--- src/Avalonia.Themes.Fluent/Controls/TabControl.xaml | 2 +- src/Avalonia.Themes.Fluent/Controls/TabItem.xaml | 10 +++++----- src/Avalonia.Themes.Fluent/Controls/TabStripItem.xaml | 2 +- src/Avalonia.Themes.Fluent/Controls/TimePicker.xaml | 4 ++-- src/Avalonia.Themes.Fluent/Controls/ToggleSwitch.xaml | 2 +- 12 files changed, 22 insertions(+), 23 deletions(-) diff --git a/src/Avalonia.Themes.Fluent/Controls/Button.xaml b/src/Avalonia.Themes.Fluent/Controls/Button.xaml index 573b9f337f..597f5d00ec 100644 --- a/src/Avalonia.Themes.Fluent/Controls/Button.xaml +++ b/src/Avalonia.Themes.Fluent/Controls/Button.xaml @@ -16,8 +16,7 @@ - - + diff --git a/src/Avalonia.Themes.Fluent/Controls/CalendarDatePicker.xaml b/src/Avalonia.Themes.Fluent/Controls/CalendarDatePicker.xaml index 75343ebb4a..a5d0c722ec 100644 --- a/src/Avalonia.Themes.Fluent/Controls/CalendarDatePicker.xaml +++ b/src/Avalonia.Themes.Fluent/Controls/CalendarDatePicker.xaml @@ -74,7 +74,7 @@ Grid.Row="1" Grid.ColumnSpan="4" Grid.RowSpan="3" - FontSize="{StaticResource CalendarDatePickerCurrentDayFontSize}" + FontSize="{DynamicResource CalendarDatePickerCurrentDayFontSize}" Text="{Binding Source={x:Static sys:DateTime.Today}, Path=Day}"/> diff --git a/src/Avalonia.Themes.Fluent/Controls/DatePicker.xaml b/src/Avalonia.Themes.Fluent/Controls/DatePicker.xaml index b6e36861e0..032fdd9ae4 100644 --- a/src/Avalonia.Themes.Fluent/Controls/DatePicker.xaml +++ b/src/Avalonia.Themes.Fluent/Controls/DatePicker.xaml @@ -141,8 +141,8 @@ BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" IsEnabled="{TemplateBinding IsEnabled}" - MinWidth="{StaticResource DatePickerThemeMinWidth}" - MaxWidth="{StaticResource DatePickerThemeMaxWidth}" + MinWidth="{DynamicResource DatePickerThemeMinWidth}" + MaxWidth="{DynamicResource DatePickerThemeMaxWidth}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" HorizontalContentAlignment="Stretch" diff --git a/src/Avalonia.Themes.Fluent/Controls/FocusAdorner.xaml b/src/Avalonia.Themes.Fluent/Controls/FocusAdorner.xaml index f20dc2e650..e6577497da 100644 --- a/src/Avalonia.Themes.Fluent/Controls/FocusAdorner.xaml +++ b/src/Avalonia.Themes.Fluent/Controls/FocusAdorner.xaml @@ -10,10 +10,10 @@ diff --git a/src/Avalonia.Themes.Fluent/Controls/TabItem.xaml b/src/Avalonia.Themes.Fluent/Controls/TabItem.xaml index 1c9574f169..508473796c 100644 --- a/src/Avalonia.Themes.Fluent/Controls/TabItem.xaml +++ b/src/Avalonia.Themes.Fluent/Controls/TabItem.xaml @@ -97,8 +97,8 @@ - \ No newline at end of file + diff --git a/src/Avalonia.Themes.Fluent/Controls/NumericUpDown.xaml b/src/Avalonia.Themes.Fluent/Controls/NumericUpDown.xaml index 1da48ebd8a..288b3ccee6 100644 --- a/src/Avalonia.Themes.Fluent/Controls/NumericUpDown.xaml +++ b/src/Avalonia.Themes.Fluent/Controls/NumericUpDown.xaml @@ -1,8 +1,7 @@ - + @@ -48,6 +49,8 @@ Padding="{TemplateBinding Padding}" Watermark="{TemplateBinding Watermark}" IsReadOnly="{TemplateBinding IsReadOnly}" + VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" + HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Text="{TemplateBinding Text}" AcceptsReturn="False" TextWrapping="NoWrap" /> From 107b4d83fdc026dcfc3fe692c8ae683341b11126 Mon Sep 17 00:00:00 2001 From: Max Katz Date: Sat, 2 Jan 2021 02:50:10 -0500 Subject: [PATCH 3/3] Add HorizontalContentAlignment/VerticalContentAlignment props to CalendarDatePicker --- .../Calendar/CalendarDatePicker.cs | 32 +++++++++++++++++++ .../CalendarDatePicker.xaml | 2 ++ .../Controls/CalendarDatePicker.xaml | 8 +++-- 3 files changed, 40 insertions(+), 2 deletions(-) diff --git a/src/Avalonia.Controls/Calendar/CalendarDatePicker.cs b/src/Avalonia.Controls/Calendar/CalendarDatePicker.cs index 7c259f0a09..af3fdbd662 100644 --- a/src/Avalonia.Controls/Calendar/CalendarDatePicker.cs +++ b/src/Avalonia.Controls/Calendar/CalendarDatePicker.cs @@ -11,6 +11,7 @@ using Avalonia.Controls.Primitives; using Avalonia.Data; using Avalonia.Input; using Avalonia.Interactivity; +using Avalonia.Layout; namespace Avalonia.Controls { @@ -209,6 +210,18 @@ namespace Avalonia.Controls TextBox.UseFloatingWatermarkProperty.AddOwner(); + /// + /// Defines the property. + /// + public static readonly StyledProperty HorizontalContentAlignmentProperty = + ContentControl.HorizontalContentAlignmentProperty.AddOwner(); + + /// + /// Defines the property. + /// + public static readonly StyledProperty VerticalContentAlignmentProperty = + ContentControl.VerticalContentAlignmentProperty.AddOwner(); + /// /// Gets or sets the date to display. /// @@ -364,6 +377,25 @@ namespace Avalonia.Controls set { SetValue(UseFloatingWatermarkProperty, value); } } + + /// + /// Gets or sets the horizontal alignment of the content within the control. + /// + public HorizontalAlignment HorizontalContentAlignment + { + get => GetValue(HorizontalContentAlignmentProperty); + set => SetValue(HorizontalContentAlignmentProperty, value); + } + + /// + /// Gets or sets the vertical alignment of the content within the control. + /// + public VerticalAlignment VerticalContentAlignment + { + get => GetValue(VerticalContentAlignmentProperty); + set => SetValue(VerticalContentAlignmentProperty, value); + } + /// /// Occurs when the drop-down /// is closed. diff --git a/src/Avalonia.Themes.Default/CalendarDatePicker.xaml b/src/Avalonia.Themes.Default/CalendarDatePicker.xaml index bc1aba1a03..aab7d06c46 100644 --- a/src/Avalonia.Themes.Default/CalendarDatePicker.xaml +++ b/src/Avalonia.Themes.Default/CalendarDatePicker.xaml @@ -93,6 +93,8 @@ Watermark="{TemplateBinding Watermark}" UseFloatingWatermark="{TemplateBinding UseFloatingWatermark}" DataValidationErrors.Errors="{TemplateBinding (DataValidationErrors.Errors)}" + VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" + HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" Grid.Column="0"/>