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;