public void LoadBanner(AbstractBanner banner) { if (banner == null) return; var result = GetBannerFromCache(banner); ClearChildModels(); AddChildModel("ContentPanel", result); ContentModel = result; Content = ContentModel.Content; Background = AppearanceManager.GetBrushForColor(banner.Background, AppearanceManager.BackgroundBrush); Padding = banner.Margin; }
private ContentPanelModel GetBannerFromCache(AbstractBanner banner) { if (_contentCache.ContainsKey(banner.Name)) { var cachedContent = _contentCache[banner.Name]; cachedContent.RestoreOriginalValues(); return cachedContent; } var content = new ContentPanelModel(this); content.LoadContent<DependencyObject>(banner); if (banner.Cache) _contentCache[banner.Name] = content; return content; }