From 827333b2d2df2c56ccf53840e66e74fce3e870a1 Mon Sep 17 00:00:00 2001 From: Ruofan Date: Mon, 25 May 2026 11:06:33 +0800 Subject: [PATCH 1/2] Add children transitions for the SettingsExpander Better visual effect when some of the items visibility within SettingsExpander changed --- .../src/SettingsExpander/SettingsExpander.xaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/components/SettingsControls/src/SettingsExpander/SettingsExpander.xaml b/components/SettingsControls/src/SettingsExpander/SettingsExpander.xaml index bfc0cde77..babf79604 100644 --- a/components/SettingsControls/src/SettingsExpander/SettingsExpander.xaml +++ b/components/SettingsControls/src/SettingsExpander/SettingsExpander.xaml @@ -102,6 +102,12 @@ + + + + + + Date: Mon, 25 May 2026 16:28:06 +0800 Subject: [PATCH 2/2] Make a new property ItemsTransitions to config the transitions more flexible --- .../SettingsExpander.Properties.cs | 18 ++++++++++++++++++ .../src/SettingsExpander/SettingsExpander.xaml | 9 ++------- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/components/SettingsControls/src/SettingsExpander/SettingsExpander.Properties.cs b/components/SettingsControls/src/SettingsExpander/SettingsExpander.Properties.cs index 7ddd2efcb..9362f8658 100644 --- a/components/SettingsControls/src/SettingsExpander/SettingsExpander.Properties.cs +++ b/components/SettingsControls/src/SettingsExpander/SettingsExpander.Properties.cs @@ -71,6 +71,15 @@ public partial class SettingsExpander typeof(SettingsExpander), new PropertyMetadata(defaultValue: false, (d, e) => ((SettingsExpander)d).OnIsExpandedPropertyChanged((bool)e.OldValue, (bool)e.NewValue))); + /// + /// The backing for the property. + /// + public static readonly DependencyProperty ItemsTransitionsProperty = DependencyProperty.Register( + nameof(ItemsTransitions), + typeof(TransitionCollection), + typeof(SettingsExpander), + new PropertyMetadata(null)); + /// /// Gets or sets the Header. /// @@ -127,6 +136,15 @@ public UIElement ItemsFooter set => SetValue(ItemsFooterProperty, value); } + /// + /// Gets or sets the ItemsTransitions. + /// + public TransitionCollection ItemsTransitions + { + get { return (TransitionCollection)GetValue(ItemsTransitionsProperty); } + set { SetValue(ItemsTransitionsProperty, value); } + } + /// /// Gets or sets the IsExpanded state. /// diff --git a/components/SettingsControls/src/SettingsExpander/SettingsExpander.xaml b/components/SettingsControls/src/SettingsExpander/SettingsExpander.xaml index babf79604..2bc870c8c 100644 --- a/components/SettingsControls/src/SettingsExpander/SettingsExpander.xaml +++ b/components/SettingsControls/src/SettingsExpander/SettingsExpander.xaml @@ -96,18 +96,13 @@ IsClickEnabled="False" /> - + - - - - - -