Browse Source

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`.
pull/1210/head
Steven Kirk 9 years ago
parent
commit
2c61d17bc3
  1. 4
      src/Avalonia.Visuals/Visual.cs

4
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
/// <param name="e">The event args.</param>
protected virtual void OnAttachedToVisualTree(VisualTreeAttachmentEventArgs e)
{
AttachedToVisualTree?.Invoke(this, e);
}
/// <summary>
@ -383,7 +384,6 @@ namespace Avalonia
/// <param name="e">The event args.</param>
protected virtual void OnDetachedFromVisualTree(VisualTreeAttachmentEventArgs e)
{
DetachedFromVisualTree?.Invoke(this, e);
}
/// <summary>

Loading…
Cancel
Save