protected override void Dispose(bool disposing) { // Dispose of all child views while (this.Count > 0) { this[0].Dispose(); this.RemoveAt(0); } _views.Clear(); // Must call base class to finish disposing base.Dispose(disposing); }