diff --git a/src/Avalonia.Controls/Classes.cs b/src/Avalonia.Controls/Classes.cs index c897e86697..613273d5c7 100644 --- a/src/Avalonia.Controls/Classes.cs +++ b/src/Avalonia.Controls/Classes.cs @@ -179,7 +179,7 @@ namespace Avalonia.Controls { ThrowIfPseudoclass(name, "removed"); - if (!Contains(name)) + if (Contains(name)) { c.Add(name); } diff --git a/tests/Avalonia.Controls.UnitTests/ClassesTests.cs b/tests/Avalonia.Controls.UnitTests/ClassesTests.cs index c9b9d9f82c..8d2e23d027 100644 --- a/tests/Avalonia.Controls.UnitTests/ClassesTests.cs +++ b/tests/Avalonia.Controls.UnitTests/ClassesTests.cs @@ -161,5 +161,15 @@ namespace Avalonia.Controls.UnitTests Assert.Equal(new[] { ":baz" }, target); } + + [Fact] + public void RemoveAll_Should_Remove_Classes() + { + var target = new Classes("foo", "bar", "baz"); + + target.RemoveAll(new[] { "bar", "baz" }); + + Assert.Equal(new[] { "foo" }, target); + } } }