示例#1
0
 private void ExecuteHamburgerMenuHomeCommand(object x)
 {
     CurrentHamburgerMenuContent = new HamburgerMenuHomeView();
 }
示例#2
0
        public MainWindowViewModel()
        {
            //ThemeManager.Instance.PropertyChanged += ThemeManager_PropertyChanged;

            SampleData.Seed();
            this.Albums  = SampleData.Albums;
            this.Artists = SampleData.Artists;


            ColorSchemes = ThemeManager.Instance.ColorSchemes;
            BaseColors   = ThemeManager.Instance.BaseColors;

            ThemeManager.Instance.IsThemeChanged += (o, e) =>
            {
                BrushResources = FindBrushResources();
            };


            if (ThemeManager.Instance.SelectedTheme == null)
            {
                ThemeManager.Instance.SelectedTheme = ThemeManager.Instance.Themes.FirstOrDefault();
            }

            if (ThemeManager.Instance.SelectedBaseColor == null)
            {
                ThemeManager.Instance.SelectedBaseColor = ThemeManager.Instance.BaseColors.FirstOrDefault();
            }

            Skins = SkinManager.Instance.Skins;

            if (SkinManager.Instance.SelectedSkin == null)
            {
                SkinManager.Instance.SelectedSkin = SkinManager.Instance.Skins.FirstOrDefault();
            }

            SelectedSkin = SkinManager.Instance.SelectedSkin;

            this.WhenAnyValue(x => x.SelectedSkin).Where(x => x != null).Subscribe(x =>
            {
                SkinManager.Instance.SelectedSkin = x;
            });

            ChangeColorSchemeCommand = ReactiveCommand.Create <object>(x => ExecuteChangeColorSchemeCommand(x), outputScheduler: RxApp.MainThreadScheduler);

            ChangeBaseColorsCommand = ReactiveCommand.Create <string>(x => ExecuteChangeBaseColorsCommand(x), outputScheduler: RxApp.MainThreadScheduler);

            var canExecute = this.WhenAny(x => x, (test) => true == false);

            ArtistsDropDownCommand       = ReactiveCommand.Create <object>(x => ExecuteArtistsDropDownCommand(x), canExecute, outputScheduler: RxApp.MainThreadScheduler);
            GenreDropDownMenuItemCommand = ReactiveCommand.Create <object>(x => ExecuteGenreDropDownMenuItemCommand(x), outputScheduler: RxApp.MainThreadScheduler);


            ShowBusyIndicatorCommand = ReactiveCommand.Create <object>(x => ExecuteShowBusyIndicator(x), outputScheduler: RxApp.MainThreadScheduler);
            OpenWizardCommand        = ReactiveCommand.Create <object>(x => ExecuteOpenWizardCommand(x), outputScheduler: RxApp.MainThreadScheduler);

            ShowFlyoutDemoCommand = ReactiveCommand.Create <object>(x => ExecuteShowFlyoutDemo(x), outputScheduler: RxApp.MainThreadScheduler);


            SelectedColorScheme = ColorSchemes.FirstOrDefault(x => x.Name == ThemeManager.Instance.SelectedTheme.ColorScheme);
            SelectedBaseColor   = ThemeManager.Instance.SelectedBaseColor;
            SelectedTheme       = ThemeManager.Instance.SelectedTheme;


            CurrentHamburgerMenuContent = new HamburgerMenuHomeView();
            HamburgerMenuHomeCommand    = ReactiveCommand.Create <object>(x => ExecuteHamburgerMenuHomeCommand(x), outputScheduler: RxApp.MainThreadScheduler);
            HamburgerMenuSearchCommand  = ReactiveCommand.Create <object>(x => ExecuteHamburgerMenuSearchCommand(x), outputScheduler: RxApp.MainThreadScheduler);
            HamburgerMenuLikesCommand   = ReactiveCommand.Create <object>(x => ExecuteHamburgerMenuLikesCommand(x), outputScheduler: RxApp.MainThreadScheduler);
            HamburgerMenuListsCommand   = ReactiveCommand.Create <object>(x => ExecuteHamburgerMenuListsCommand(x), outputScheduler: RxApp.MainThreadScheduler);
            HamburgerMenuProfileCommand = ReactiveCommand.Create <object>(x => ExecuteHamburgerMenuProfileCommand(x), outputScheduler: RxApp.MainThreadScheduler);
        }