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))); + } } }