From 9adbe33577402e24207dce89e81b5cfbf05771a9 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Mon, 6 Apr 2020 18:53:12 +0200 Subject: [PATCH 1/2] Added failing test for #2755. --- tests/Avalonia.Visuals.UnitTests/Media/BrushTests.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/Avalonia.Visuals.UnitTests/Media/BrushTests.cs b/tests/Avalonia.Visuals.UnitTests/Media/BrushTests.cs index 1ef8f1f29a..1a2f7732dd 100644 --- a/tests/Avalonia.Visuals.UnitTests/Media/BrushTests.cs +++ b/tests/Avalonia.Visuals.UnitTests/Media/BrushTests.cs @@ -77,5 +77,17 @@ namespace Avalonia.Visuals.UnitTests.Media { Assert.Throws(() => Brush.Parse("#ff808g80")); } + + [Fact] + public void Changing_Opacity_Raises_Invalidated() + { + var target = new SolidColorBrush(); + var raised = false; + + target.Invalidated += (s, e) => raised = true; + target.Opacity = 0.5; + + Assert.True(raised); + } } } From 3fc21f30b4b3ce57bee74832b9185b47bc8fbe2f Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Mon, 6 Apr 2020 18:55:27 +0200 Subject: [PATCH 2/2] Invalidate brush when Opacity changes. Fixes #2755. --- src/Avalonia.Visuals/Media/Brush.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Avalonia.Visuals/Media/Brush.cs b/src/Avalonia.Visuals/Media/Brush.cs index d4894e0d14..a19d5af8b7 100644 --- a/src/Avalonia.Visuals/Media/Brush.cs +++ b/src/Avalonia.Visuals/Media/Brush.cs @@ -19,6 +19,11 @@ namespace Avalonia.Media /// public event EventHandler Invalidated; + static Brush() + { + AffectsRender(OpacityProperty); + } + /// /// Gets or sets the opacity of the brush. ///