From 35f353c2db2cd3d93bb6dbe325ccdc8556f3d0c9 Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Wed, 12 Jul 2017 19:31:02 +0300 Subject: [PATCH] Use OnMeasureInvalidated instead of virtual InvalidateMeasure --- src/Avalonia.Layout/Layoutable.cs | 11 ++++++++++- .../Avalonia.Win32.Interop/Wpf/WpfTopLevelImpl.cs | 3 +-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/Avalonia.Layout/Layoutable.cs b/src/Avalonia.Layout/Layoutable.cs index a08ab77d70..523c720e2f 100644 --- a/src/Avalonia.Layout/Layoutable.cs +++ b/src/Avalonia.Layout/Layoutable.cs @@ -367,10 +367,18 @@ namespace Avalonia.Layout } } + + /// + /// Called by InvalidateMeasure + /// + protected virtual void OnMeasureInvalidated() + { + } + /// /// Invalidates the measurement of the control and queues a new layout pass. /// - public virtual void InvalidateMeasure() + public void InvalidateMeasure() { if (IsMeasureValid) { @@ -384,6 +392,7 @@ namespace Avalonia.Layout LayoutManager.Instance?.InvalidateMeasure(this); InvalidateVisual(); } + OnMeasureInvalidated(); } } diff --git a/src/Windows/Avalonia.Win32.Interop/Wpf/WpfTopLevelImpl.cs b/src/Windows/Avalonia.Win32.Interop/Wpf/WpfTopLevelImpl.cs index 094929deda..0620c6cc57 100644 --- a/src/Windows/Avalonia.Win32.Interop/Wpf/WpfTopLevelImpl.cs +++ b/src/Windows/Avalonia.Win32.Interop/Wpf/WpfTopLevelImpl.cs @@ -40,10 +40,9 @@ namespace Avalonia.Win32.Interop.Wpf EnforceClientSize = false; } - public override void InvalidateMeasure() + protected override void OnMeasureInvalidated() { ((FrameworkElement)PlatformImpl)?.InvalidateMeasure(); - base.InvalidateMeasure(); } protected override void HandleResized(Size clientSize)