Browse Source

Fix #424.

pull/1318/head
Jeremy Koritzinsky 8 years ago
parent
commit
6d075ad27b
  1. 8
      src/Avalonia.Controls/TextBox.cs
  2. 16
      tests/Avalonia.Controls.UnitTests/TextBoxTests.cs

8
src/Avalonia.Controls/TextBox.cs

@ -178,6 +178,10 @@ namespace Avalonia.Controls
{
value = CoerceCaretIndex(value);
SetAndRaise(SelectionStartProperty, ref _selectionStart, value);
if (SelectionStart == SelectionEnd)
{
CaretIndex = SelectionStart;
}
}
}
@ -192,6 +196,10 @@ namespace Avalonia.Controls
{
value = CoerceCaretIndex(value);
SetAndRaise(SelectionEndProperty, ref _selectionEnd, value);
if (SelectionStart == SelectionEnd)
{
CaretIndex = SelectionEnd;
}
}
}

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

@ -202,6 +202,22 @@ namespace Avalonia.Controls.UnitTests
}
}
[Fact]
public void Setting_SelectionStart_To_SelectionEnd_Sets_CaretPosition_To_SelectionStart()
{
using (UnitTestApplication.Start(Services))
{
var textBox = new TextBox
{
Text = "0123456789"
};
textBox.SelectionStart = 2;
textBox.SelectionEnd = 2;
Assert.Equal(2, textBox.CaretIndex);
}
}
[Fact]
public void Setting_Text_Updates_CaretPosition()
{

Loading…
Cancel
Save