private FrameworkElement NavigateToViewModel(object viewModel) { ViewLocator.Resolve(viewModel, PageLayoutProvider.DetermineVisualState()); var contentSwitchingPage = new ContentSwitchingPage { DataContext = viewModel, ViewLocator = ViewLocator, PageCommandsPanel = PageCommandsPanel }; return(contentSwitchingPage); }
public void ReadActualDatabase() { Core.ZuneDatabase.SortOrder so; switch (Settings.Default.SortOrder) { case SortOrder.DateAdded: so = Core.ZuneDatabase.SortOrder.DateAdded; break; case SortOrder.Album: so = Core.ZuneDatabase.SortOrder.Album; break; case SortOrder.Artist: so = Core.ZuneDatabase.SortOrder.Artist; break; default: so = Core.ZuneDatabase.SortOrder.DateAdded; break; } _webAlbumListViewModel.Sort(); foreach (DbAlbum newAlbum in _dbReader.ReadAlbums(so)) { var newalbumDetails = _viewLocator.Resolve <AlbumDetailsViewModel>(); newalbumDetails.LinkStatus = newAlbum.AlbumMediaId.GetLinkStatusFromGuid(); newalbumDetails.DateAdded = newAlbum.DateAdded; newalbumDetails.Left = new AlbumThumbDetails { Artist = newAlbum.Artist, ArtworkUrl = newAlbum.ArtworkUrl, Title = newAlbum.Title, }; if (newalbumDetails.LinkStatus == LinkStatus.Unknown || newalbumDetails.LinkStatus == LinkStatus.Linked) { if (_cache != null) { DbAlbum album = newAlbum; var cachedObjects = _cache.Where(x => x.AlbumMediaId == album.AlbumMediaId); if (cachedObjects.Count() > 0) { var co = cachedObjects.First(); if (co.Right != null) { newalbumDetails.Right = co.Right; newalbumDetails.LinkStatus = LinkStatus.Linked; } else { newalbumDetails.LinkStatus = co.LinkStatus; } } } } newalbumDetails.Init(newAlbum.MediaId, newAlbum.AlbumMediaId); _albums.Add(newalbumDetails); } }