Browse Source

fix(TextBox): initialize command states in constructor (#21859)

pull/21863/head
yoyo 2 months ago
committed by GitHub
parent
commit
386be0fa0b
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 1
      src/Avalonia.Controls/TextBox.cs
  2. 13
      tests/Avalonia.Controls.UnitTests/TextBoxTests.cs

1
src/Avalonia.Controls/TextBox.cs

@ -431,6 +431,7 @@ namespace Avalonia.Controls
_undoRedoHelper = new UndoRedoHelper<UndoRedoState>(this);
_selectedTextChangesMadeSinceLastUndoSnapshot = 0;
_hasDoneSnapshotOnce = false;
UpdateCommandStates();
UpdatePseudoclasses();
}

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

@ -1549,6 +1549,19 @@ namespace Avalonia.Controls.UnitTests
}
}
[Fact]
public void Empty_TextBox_Initializes_Clipboard_Command_States()
{
using (UnitTestApplication.Start(Services))
{
var tb = new TextBox();
Assert.False(tb.CanCopy);
Assert.False(tb.CanCut);
Assert.True(tb.CanPaste);
}
}
[Fact]
public void Command_States_Update_When_ReadOnly_And_PasswordChar_Change()
{

Loading…
Cancel
Save