diff --git a/Xamarin.Forms.Platform.Android/Cells/ViewCellRenderer.cs b/Xamarin.Forms.Platform.Android/Cells/ViewCellRenderer.cs index 9604364a3ed..8134a9c1e45 100644 --- a/Xamarin.Forms.Platform.Android/Cells/ViewCellRenderer.cs +++ b/Xamarin.Forms.Platform.Android/Cells/ViewCellRenderer.cs @@ -2,6 +2,7 @@ using Android.Views; using AView = Android.Views.View; using Xamarin.Forms.Internals; +using System; namespace Xamarin.Forms.Platform.Android { @@ -32,6 +33,9 @@ protected override AView GetCellCore(Cell item, AView convertView, ViewGroup par rowHeight = ListView.RowHeightProperty; } + if (cell.View == null) + throw new InvalidOperationException($"ViewCell must have a {nameof(cell.View)}"); + IVisualElementRenderer view = Platform.CreateRenderer(cell.View); Platform.SetRenderer(cell.View, view); cell.View.IsPlatformEnabled = true; diff --git a/Xamarin.Forms.Platform.iOS/Cells/ViewCellRenderer.cs b/Xamarin.Forms.Platform.iOS/Cells/ViewCellRenderer.cs index 30c17234fc9..697608fe4fa 100644 --- a/Xamarin.Forms.Platform.iOS/Cells/ViewCellRenderer.cs +++ b/Xamarin.Forms.Platform.iOS/Cells/ViewCellRenderer.cs @@ -139,6 +139,9 @@ protected override void Dispose(bool disposing) IVisualElementRenderer GetNewRenderer() { + if (_viewCell.View == null) + throw new InvalidOperationException($"ViewCell must have a {nameof(_viewCell.View)}"); + var newRenderer = Platform.CreateRenderer(_viewCell.View); _rendererRef = new WeakReference(newRenderer); ContentView.AddSubview(newRenderer.NativeView);