From d600ffcb7e3f6565770e1716c104067382c680c6 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Tue, 8 Oct 2019 14:33:06 +0200 Subject: [PATCH] Added Window.OnClosed and sealed HandleClosed. --- src/Avalonia.Controls/TopLevel.cs | 8 +++++++- src/Avalonia.Controls/Window.cs | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/Avalonia.Controls/TopLevel.cs b/src/Avalonia.Controls/TopLevel.cs index c54ebd5360..293809bf51 100644 --- a/src/Avalonia.Controls/TopLevel.cs +++ b/src/Avalonia.Controls/TopLevel.cs @@ -271,7 +271,7 @@ namespace Avalonia.Controls { (this as IInputRoot).MouseDevice?.TopLevelClosed(this); PlatformImpl = null; - Closed?.Invoke(this, EventArgs.Empty); + OnClosed(EventArgs.Empty); Renderer?.Dispose(); Renderer = null; } @@ -317,6 +317,12 @@ namespace Avalonia.Controls /// The event args. protected virtual void OnOpened(EventArgs e) => Opened?.Invoke(this, e); + /// + /// Raises the event. + /// + /// The event args. + protected virtual void OnClosed(EventArgs e) => Closed?.Invoke(this, e); + /// /// Tries to get a service from an , logging a /// warning if not found. diff --git a/src/Avalonia.Controls/Window.cs b/src/Avalonia.Controls/Window.cs index ef43746665..ec2fca0db5 100644 --- a/src/Avalonia.Controls/Window.cs +++ b/src/Avalonia.Controls/Window.cs @@ -557,7 +557,7 @@ namespace Avalonia.Controls return result; } - protected override void HandleClosed() + protected sealed override void HandleClosed() { RaiseEvent(new RoutedEventArgs(WindowClosedEvent)); @@ -565,7 +565,7 @@ namespace Avalonia.Controls } /// - protected override void HandleResized(Size clientSize) + protected sealed override void HandleResized(Size clientSize) { if (!AutoSizing) {