From 713933b7fb78e96070408ca1b966ff35efa26bc4 Mon Sep 17 00:00:00 2001 From: Dan Walmsley Date: Tue, 10 Oct 2017 14:11:51 +0100 Subject: [PATCH] [Scrollbar] dont try and arrange the thumb and buttons if the extent is zero. --- src/Avalonia.Controls/Primitives/Track.cs | 34 +++++++++++++---------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/src/Avalonia.Controls/Primitives/Track.cs b/src/Avalonia.Controls/Primitives/Track.cs index 663b7a22d5..ce768fe58d 100644 --- a/src/Avalonia.Controls/Primitives/Track.cs +++ b/src/Avalonia.Controls/Primitives/Track.cs @@ -137,14 +137,17 @@ namespace Avalonia.Controls.Primitives decreaseButton.Arrange(new Rect(0, 0, firstWidth, finalSize.Height)); } - if (thumb != null) + if (!double.IsNaN(thumbWidth)) { - thumb.Arrange(new Rect(firstWidth, 0, thumbWidth, finalSize.Height)); - } - - if (increaseButton != null) - { - increaseButton.Arrange(new Rect(firstWidth + thumbWidth, 0, remaining - firstWidth, finalSize.Height)); + if (thumb != null) + { + thumb.Arrange(new Rect(firstWidth, 0, thumbWidth, finalSize.Height)); + } + + if (increaseButton != null) + { + increaseButton.Arrange(new Rect(firstWidth + thumbWidth, 0, remaining - firstWidth, finalSize.Height)); + } } } else @@ -158,14 +161,17 @@ namespace Avalonia.Controls.Primitives decreaseButton.Arrange(new Rect(0, 0, finalSize.Width, firstHeight)); } - if (thumb != null) - { - thumb.Arrange(new Rect(0, firstHeight, finalSize.Width, thumbHeight)); - } - - if (increaseButton != null) + if (!double.IsNaN(thumbHeight)) { - increaseButton.Arrange(new Rect(0, firstHeight + thumbHeight, finalSize.Width, Math.Max(remaining - firstHeight, 0))); + if (thumb != null) + { + thumb.Arrange(new Rect(0, firstHeight, finalSize.Width, thumbHeight)); + } + + if (increaseButton != null) + { + increaseButton.Arrange(new Rect(0, firstHeight + thumbHeight, finalSize.Width, Math.Max(remaining - firstHeight, 0))); + } } }