Browse Source

[Scrollbar] dont try and arrange the thumb and buttons if the extent is zero.

pull/1204/head
Dan Walmsley 9 years ago
parent
commit
713933b7fb
  1. 34
      src/Avalonia.Controls/Primitives/Track.cs

34
src/Avalonia.Controls/Primitives/Track.cs

@ -137,14 +137,17 @@ namespace Avalonia.Controls.Primitives
decreaseButton.Arrange(new Rect(0, 0, firstWidth, finalSize.Height)); 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 (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)); if (increaseButton != null)
{
increaseButton.Arrange(new Rect(firstWidth + thumbWidth, 0, remaining - firstWidth, finalSize.Height));
}
} }
} }
else else
@ -158,14 +161,17 @@ namespace Avalonia.Controls.Primitives
decreaseButton.Arrange(new Rect(0, 0, finalSize.Width, firstHeight)); decreaseButton.Arrange(new Rect(0, 0, finalSize.Width, firstHeight));
} }
if (thumb != null) if (!double.IsNaN(thumbHeight))
{
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))); 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)));
}
} }
} }

Loading…
Cancel
Save