protected override void DisposeManaged() { foreach (CanvasLayer layer in Layers) { if (layer != null) layer.Dispose(); } _adapter.Dependent.CollectionChanged -= DependentCollectionChanged; _adapter.Primary = null; base.DisposeManaged(); }