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

Loading…
Cancel
Save