From 2c61d17bc3efc967716f4620dcb4dae9189b17d0 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Fri, 13 Oct 2017 15:45:25 +0200 Subject: [PATCH] Always raise visual tree attach/detach events. Previously, if the user overrode `OnAttachedToVisualTree` or `OnDetachedFromVisualTree` and forgot to call the base implementation, the events wouldn't be raised. It's very important that these events get raised so moved the code to raise them to `OnAttachedToVisualTreeCore`/`OnDetachedFromVisualTreeCore`. --- src/Avalonia.Visuals/Visual.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Avalonia.Visuals/Visual.cs b/src/Avalonia.Visuals/Visual.cs index cfe6bce7e0..bc65d4f69f 100644 --- a/src/Avalonia.Visuals/Visual.cs +++ b/src/Avalonia.Visuals/Visual.cs @@ -329,6 +329,7 @@ namespace Avalonia } OnAttachedToVisualTree(e); + AttachedToVisualTree?.Invoke(this, e); InvalidateVisual(); if (VisualChildren != null) @@ -357,6 +358,7 @@ namespace Avalonia } OnDetachedFromVisualTree(e); + DetachedFromVisualTree?.Invoke(this, e); e.Root?.Renderer?.AddDirty(this); if (VisualChildren != null) @@ -374,7 +376,6 @@ namespace Avalonia /// The event args. protected virtual void OnAttachedToVisualTree(VisualTreeAttachmentEventArgs e) { - AttachedToVisualTree?.Invoke(this, e); } /// @@ -383,7 +384,6 @@ namespace Avalonia /// The event args. protected virtual void OnDetachedFromVisualTree(VisualTreeAttachmentEventArgs e) { - DetachedFromVisualTree?.Invoke(this, e); } ///