diff --git a/Ooui.Forms/Renderers/ListViewRenderer.cs b/Ooui.Forms/Renderers/ListViewRenderer.cs index 069c264..4c2f1ff 100644 --- a/Ooui.Forms/Renderers/ListViewRenderer.cs +++ b/Ooui.Forms/Renderers/ListViewRenderer.cs @@ -79,6 +79,8 @@ namespace Ooui.Forms.Renderers if (disposing && !_disposed) { + ClearPrototype(); + if (Element != null) { var templatedItems = TemplatedItemsView.TemplatedItems; templatedItems.CollectionChanged -= OnCollectionChanged; @@ -89,6 +91,17 @@ namespace Ooui.Forms.Renderers } } + void ClearPrototype() + { + if (_prototype != null) + { + var element = _prototype.Element; + element?.ClearValue(Platform.RendererProperty); + _prototype?.Dispose(); + _prototype = null; + } + } + private void OnCollectionChanged (object sender, NotifyCollectionChangedEventArgs e) { UpdateItems ();