From 83098e99233abd9f34f36e1fa33c68d294e9f791 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Thu, 30 Apr 2020 15:29:24 +0200 Subject: [PATCH] Enable transitions for non-Visuals. `Visual` knows when it's attached to the visual tree, so it can enable transitions then. This is a hack due to the fact that non-Visuals currently don't know when to enable transitions. --- src/Avalonia.Animation/Animatable.cs | 2 +- src/Avalonia.Visuals/Visual.cs | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Avalonia.Animation/Animatable.cs b/src/Avalonia.Animation/Animatable.cs index 31670454c9..7d6df716b8 100644 --- a/src/Avalonia.Animation/Animatable.cs +++ b/src/Avalonia.Animation/Animatable.cs @@ -28,7 +28,7 @@ namespace Avalonia.Animation o => o.Transitions, (o, v) => o.Transitions = v); - private bool _transitionsEnabled; + private bool _transitionsEnabled = true; private Transitions? _transitions; private Dictionary? _transitionState; diff --git a/src/Avalonia.Visuals/Visual.cs b/src/Avalonia.Visuals/Visual.cs index 4d96fff3f6..bb9a4cf208 100644 --- a/src/Avalonia.Visuals/Visual.cs +++ b/src/Avalonia.Visuals/Visual.cs @@ -114,6 +114,9 @@ namespace Avalonia /// public Visual() { + // Disable transitions until we're added to the visual tree. + DisableTransitions(); + var visualChildren = new AvaloniaList(); visualChildren.ResetBehavior = ResetBehavior.Remove; visualChildren.Validate = visual => ValidateVisualChild(visual);