diff --git a/components/Extensions/src/Shadows/AttachedShadowBase.cs b/components/Extensions/src/Shadows/AttachedShadowBase.cs index add9ac80..aca04150 100644 --- a/components/Extensions/src/Shadows/AttachedShadowBase.cs +++ b/components/Extensions/src/Shadows/AttachedShadowBase.cs @@ -161,8 +161,8 @@ protected internal virtual void OnElementContextInitialized(AttachedShadowElemen /// The that is being uninitialized. protected internal virtual void OnElementContextUninitialized(AttachedShadowElementContext context) { - context.ClearAndDisposeResources(); ElementCompositionPreview.SetElementChildVisual(context.Element, null!); + context.ClearAndDisposeResources(); } /// diff --git a/components/Extensions/src/Shadows/AttachedShadowElementContext.cs b/components/Extensions/src/Shadows/AttachedShadowElementContext.cs index 4c23b241..f47a5a81 100644 --- a/components/Extensions/src/Shadows/AttachedShadowElementContext.cs +++ b/components/Extensions/src/Shadows/AttachedShadowElementContext.cs @@ -135,6 +135,12 @@ private void Uninitialize() IsInitialized = false; + if (Element != null) + { + ElementCompositionPreview.SetElementChildVisual(Element, null!); + Element.SizeChanged -= OnElementSizeChanged; + } + Parent.OnElementContextUninitialized(this); if (SpriteVisual != null) @@ -148,12 +154,6 @@ private void Uninitialize() Shadow.Dispose(); } - if (Element != null) - { - ElementCompositionPreview.SetElementChildVisual(Element, null!); - Element.SizeChanged -= OnElementSizeChanged; - } - SpriteVisual = null; Shadow = null; ElementVisual = null;