using System; using System.Collections.ObjectModel; using System.ComponentModel; using System.Runtime.CompilerServices; using Aurora.Design.Components.NavigationMenu; using Aurora.Design.Views.Albums; using Aurora.Design.Views.Artists; using Aurora.Design.Views.Songs; using Aurora.Design.Views.Stations; using Aurora.Design.Views.Party; using Aurora.Design.Views.Profile; namespace Aurora.Design.Views.MainView { public class MainViewModel : BaseViewModel { private ObservableCollection _pages; public ObservableCollection Pages { get { return _pages; } set { if (value != _pages) { _pages = value; OnPropertyChanged("Pages"); } } } private NavigationItem _selectedItem; public NavigationItem SelectedItem { get { return _selectedItem; } set { SetProperty(ref _selectedItem, value); OnPropertyChanged("Title"); } } public string Title { get { return (_selectedItem != null && !string.IsNullOrWhiteSpace(_selectedItem.Title)) ? _selectedItem.Title : ""; } } public MainViewModel() { _pages = new ObservableCollection(new[] { new NavigationItem { Id = 0, Title = "Songs", Group="Your Music", TargetType = typeof(SongsView), TargetViewModelType = typeof(SongsViewModel) }, new NavigationItem { Id = 1, Title = "Artists", Group="Your Music", TargetType = typeof(ArtistsView), TargetViewModelType = typeof(ArtistsViewModel)}, new NavigationItem { Id = 2, Title = "Albums", Group="Your Music", TargetType = typeof(AlbumsView), TargetViewModelType = typeof(AlbumsViewModel)}, new NavigationItem { Id = 3, Title = "Stations", Group="Your Music", TargetType = typeof(StationsView), TargetViewModelType = typeof(StationsViewModel)}, new NavigationItem { Id = 4, Title = "Party", Group="Social", TargetType = typeof(PartyView), TargetViewModelType = typeof(PartyViewModel)}, new NavigationItem { Id = 5, Title = "Profile", Group="Social", TargetType = typeof(ProfileView), TargetViewModelType = typeof(ProfileViewModel)}, new NavigationItem { Id = 6, Title = "A + B", Group="Playlists", TargetType = typeof(StationsView), TargetViewModelType = typeof(StationsViewModel)} }); } } }