private ViewRecord CreateAndCacheNewView(object collection, Appercode.UI.Data.CollectionViewSource cvs) { ICollectionView collectionViews = this.CreateNewView(collection); ViewTable viewTable = this.EnsureViewTableForCollection(collection); ViewRecord viewRecord = new ViewRecord(collectionViews); viewTable[cvs] = viewRecord; ((IViewLifetime)collectionViews).ViewManagerData = viewTable; this.Cleanup(); return(viewRecord); }
internal ViewRecord GetViewRecord(object collection, Appercode.UI.Data.CollectionViewSource cvs) { ViewTable item = this[collection]; ViewRecord viewRecord = null; if (item != null) { viewRecord = item[cvs]; if (viewRecord != null) { return(viewRecord); } } return(this.CreateAndCacheNewView(collection, cvs)); }