From d7ba0fad2c877d3d408a81da3d32868e91425521 Mon Sep 17 00:00:00 2001 From: chenjt2001 Date: Fri, 6 May 2022 15:01:35 +0800 Subject: [PATCH 1/2] Fix AttachedDropShadow size changes abnormally --- Microsoft.Toolkit.Uwp.UI/Shadows/AttachedDropShadow.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Microsoft.Toolkit.Uwp.UI/Shadows/AttachedDropShadow.cs b/Microsoft.Toolkit.Uwp.UI/Shadows/AttachedDropShadow.cs index f6fe707a7cf..9d3aeabc0ab 100644 --- a/Microsoft.Toolkit.Uwp.UI/Shadows/AttachedDropShadow.cs +++ b/Microsoft.Toolkit.Uwp.UI/Shadows/AttachedDropShadow.cs @@ -344,6 +344,7 @@ protected internal override void OnSizeChanged(AttachedShadowElementContext cont context.SpriteVisual.Offset = context.Element.CoordinatesFrom(CastTo).ToVector3(); UpdateShadowClip(context); + UpdateShadowMask(context); base.OnSizeChanged(context, newSize, previousSize); } From 59cd9fe8235e1ea925589840a8d1fb0853e49848 Mon Sep 17 00:00:00 2001 From: chenjt2001 Date: Fri, 6 May 2022 15:44:56 +0800 Subject: [PATCH 2/2] Avoid adding shapes repeatedly --- Microsoft.Toolkit.Uwp.UI/Shadows/AttachedDropShadow.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Microsoft.Toolkit.Uwp.UI/Shadows/AttachedDropShadow.cs b/Microsoft.Toolkit.Uwp.UI/Shadows/AttachedDropShadow.cs index 9d3aeabc0ab..cea31d06191 100644 --- a/Microsoft.Toolkit.Uwp.UI/Shadows/AttachedDropShadow.cs +++ b/Microsoft.Toolkit.Uwp.UI/Shadows/AttachedDropShadow.cs @@ -290,7 +290,11 @@ protected override CompositionBrush GetShadowMask(AttachedShadowElementContext c // Create a ShapeVisual so that our geometry can be rendered to a visual var shapeVisual = context.GetResource(ShapeVisualResourceKey) ?? context.AddResource(ShapeVisualResourceKey, context.Compositor.CreateShapeVisual()); - shapeVisual.Shapes.Add(shape); + + if (!shapeVisual.Shapes.Contains(shape)) + { + shapeVisual.Shapes.Add(shape); + } // Create a CompositionVisualSurface, which renders our ShapeVisual to a texture var visualSurface = context.GetResource(VisualSurfaceResourceKey) ??