diff --git a/src/AtomUI.Controls/GeneratedFiles/AtomUI.Generator/AtomUI.Generator.TokenResourceKeyGenerator/TokenResourceConst.g.cs b/src/AtomUI.Controls/GeneratedFiles/AtomUI.Generator/AtomUI.Generator.TokenResourceKeyGenerator/TokenResourceConst.g.cs index 83515aa2d..2f5ddc4ef 100644 --- a/src/AtomUI.Controls/GeneratedFiles/AtomUI.Generator/AtomUI.Generator.TokenResourceKeyGenerator/TokenResourceConst.g.cs +++ b/src/AtomUI.Controls/GeneratedFiles/AtomUI.Generator/AtomUI.Generator.TokenResourceKeyGenerator/TokenResourceConst.g.cs @@ -820,9 +820,9 @@ namespace AtomUI.Theme.Styling public static readonly TokenResourceKey IndicatorLeftModeMargin = new TokenResourceKey("Timeline.IndicatorLeftModeMargin"); public static readonly TokenResourceKey IndicatorMiddleModeMargin = new TokenResourceKey("Timeline.IndicatorMiddleModeMargin"); public static readonly TokenResourceKey IndicatorRightModeMargin = new TokenResourceKey("Timeline.IndicatorRightModeMargin"); + public static readonly TokenResourceKey IndicatorSize = new TokenResourceKey("Timeline.IndicatorSize"); public static readonly TokenResourceKey IndicatorTailColor = new TokenResourceKey("Timeline.IndicatorTailColor"); public static readonly TokenResourceKey IndicatorTailWidth = new TokenResourceKey("Timeline.IndicatorTailWidth"); - public static readonly TokenResourceKey IndicatorWidth = new TokenResourceKey("Timeline.IndicatorWidth"); public static readonly TokenResourceKey ItemPaddingBottom = new TokenResourceKey("Timeline.ItemPaddingBottom"); public static readonly TokenResourceKey ItemPaddingBottomLG = new TokenResourceKey("Timeline.ItemPaddingBottomLG"); public static readonly TokenResourceKey LastItemContentMinHeight = new TokenResourceKey("Timeline.LastItemContentMinHeight"); diff --git a/src/AtomUI.Controls/RadioButton/RadioIndicator.cs b/src/AtomUI.Controls/RadioButton/RadioIndicator.cs index d1e6061f8..a36cd8069 100644 --- a/src/AtomUI.Controls/RadioButton/RadioIndicator.cs +++ b/src/AtomUI.Controls/RadioButton/RadioIndicator.cs @@ -10,6 +10,7 @@ using Avalonia.Animation; using Avalonia.Controls; using Avalonia.Controls.Primitives; using Avalonia.Data; +using Avalonia.LogicalTree; using Avalonia.Media; using Avalonia.VisualTree; @@ -135,16 +136,10 @@ internal class RadioIndicator : Control, set => SetValue(IsWaveAnimationEnabledProperty, value); } - CompositeDisposable? IResourceBindingManager.ResourceBindingsDisposable - { - get => _resourceBindingsDisposable; - set => _resourceBindingsDisposable = value; - } - + CompositeDisposable? IResourceBindingManager.ResourceBindingsDisposable { get; set; } #endregion private IPen? _cachedPen; - private CompositeDisposable? _resourceBindingsDisposable; static RadioIndicator() { @@ -157,24 +152,28 @@ internal class RadioIndicator : Control, RadioDotEffectSizeProperty); } - protected override void OnAttachedToVisualTree(VisualTreeAttachmentEventArgs e) + protected override void OnAttachedToLogicalTree(LogicalTreeAttachmentEventArgs e) { - base.OnAttachedToVisualTree(e); - _resourceBindingsDisposable = new CompositeDisposable(); + base.OnAttachedToLogicalTree(e); this.AddResourceBindingDisposable(TokenResourceBinder.CreateTokenBinding(this, RadioBorderThicknessProperty, SharedTokenKey.BorderThickness, BindingPriority.Template, new RenderScaleAwareThicknessConfigure(this))); - RadioDotEffectSize = CalculateDotSize(IsEnabled, IsChecked.HasValue && IsChecked.Value); ConfigureTransitions(); - UpdatePseudoClasses(); } - protected override void OnDetachedFromVisualTree(VisualTreeAttachmentEventArgs e) + protected override void OnDetachedFromLogicalTree(LogicalTreeAttachmentEventArgs e) { - base.OnDetachedFromVisualTree(e); + base.OnDetachedFromLogicalTree(e); this.DisposeTokenBindings(); } + protected override void OnAttachedToVisualTree(VisualTreeAttachmentEventArgs e) + { + base.OnAttachedToVisualTree(e); + RadioDotEffectSize = CalculateDotSize(IsEnabled, IsChecked.HasValue && IsChecked.Value); + UpdatePseudoClasses(); + } + private void ConfigureTransitions() { if (IsMotionEnabled) diff --git a/src/AtomUI.Controls/RadioButton/Themes/RadioButtonTheme.axaml b/src/AtomUI.Controls/RadioButton/Themes/RadioButtonTheme.axaml index 17e7136b3..26c39f209 100644 --- a/src/AtomUI.Controls/RadioButton/Themes/RadioButtonTheme.axaml +++ b/src/AtomUI.Controls/RadioButton/Themes/RadioButtonTheme.axaml @@ -35,6 +35,8 @@ +