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. /// 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); + } } }