Example #1
0
        public EditSchemeViewModel(
            IWindowManager windowManager,
            ISchemeStorageService schemeStorage,
            INavigationService navigationService,
            ISharingService sharingService,
            IBitmapService bitmapService)
        {
            this.windowManager     = windowManager;
            this.schemeStorage     = schemeStorage;
            this.navigationService = navigationService;
            this.sharingService    = sharingService;
            this.bitmapService     = bitmapService;

            Types = new BindableCollection <SchemeTypeViewModel>
            {
                new SchemeTypeViewModel(SchemeType.Complimentary, new ComplimentarySchemeEditorViewModel(windowManager)),
                new SchemeTypeViewModel(SchemeType.Analogous, new AnalogousSchemeEditorViewModel(windowManager)),
                new SchemeTypeViewModel(SchemeType.Triad, new TriadSchemeEditorViewModel(windowManager)),
                new SchemeTypeViewModel(SchemeType.Monochromatic, new MonochromeSchemeEditorViewModel(windowManager)),
                new SchemeTypeViewModel(SchemeType.Custom, new CustomSchemeEditorViewModel(windowManager))
            };

            SelectedType = Types[0];

            foreach (var type in Types)
            {
                type.Editor.PropertyChanged += (s, e) =>
                {
                    NotifyOfPropertyChange(() => CanSave);
                    NotifyOfPropertyChange(() => CanShare);
                };
            }
        }
Example #2
0
        public SchemeListViewModel(INavigationService navigation, ISchemeStorageService schemeStorage)
        {
            this.navigation    = navigation;
            this.schemeStorage = schemeStorage;

            Schemes = new BindableCollection <SchemeViewModel>();
        }