Browse Source

Merge pull request #1377 from AvaloniaUI/fixes/1376-textbox-scrollbar

Fix TextBox ScrollBar visibility.
pull/893/merge
Steven Kirk 8 years ago
committed by GitHub
parent
commit
2203b6c4e1
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      src/Avalonia.Controls/TextBox.cs
  2. 24
      tests/Avalonia.Controls.UnitTests/TextBoxTests.cs

2
src/Avalonia.Controls/TextBox.cs

@ -103,7 +103,7 @@ namespace Avalonia.Controls
if (acceptsReturn)
{
return wrapping == TextWrapping.NoWrap ?
ScrollBarVisibility.Visible :
ScrollBarVisibility.Auto :
ScrollBarVisibility.Disabled;
}
else

24
tests/Avalonia.Controls.UnitTests/TextBoxTests.cs

@ -4,10 +4,12 @@
using System;
using System.Reactive.Linq;
using Avalonia.Controls.Presenters;
using Avalonia.Controls.Primitives;
using Avalonia.Controls.Templates;
using Avalonia.Data;
using Avalonia.Input;
using Avalonia.Markup.Xaml.Data;
using Avalonia.Media;
using Avalonia.Platform;
using Avalonia.UnitTests;
using Moq;
@ -245,6 +247,28 @@ namespace Avalonia.Controls.UnitTests
}
}
[Theory]
[InlineData(new object[] { false, TextWrapping.NoWrap, ScrollBarVisibility.Hidden })]
[InlineData(new object[] { false, TextWrapping.Wrap, ScrollBarVisibility.Hidden })]
[InlineData(new object[] { true, TextWrapping.NoWrap, ScrollBarVisibility.Auto })]
[InlineData(new object[] { true, TextWrapping.Wrap, ScrollBarVisibility.Disabled })]
public void Has_Correct_Horizontal_ScrollBar_Visibility(
bool acceptsReturn,
TextWrapping wrapping,
ScrollBarVisibility expected)
{
using (UnitTestApplication.Start(Services))
{
var target = new TextBox
{
AcceptsReturn = acceptsReturn,
TextWrapping = wrapping,
};
Assert.Equal(expected, ScrollViewer.GetHorizontalScrollBarVisibility(target));
}
}
private static TestServices Services => TestServices.MockThreadingInterface.With(
standardCursorFactory: Mock.Of<IStandardCursorFactory>());

Loading…
Cancel
Save