Ejemplo n.º 1
0
        public MainViewModel(IDialogService dialogService)
        {
            DialogService = dialogService;

            CommandToggleFullScreen = new RelayCommand(ToggleFullScreenMode);
            CommandPrint            = new RelayCommand(async() => await DoPrintAsync());
            CommandExportInkToImage = new RelayCommand <ImageSavingOptions>(async opt => await SaveImageAsync(opt));
            CommandSaveAsInkFile    =
                new RelayCommand(async() => await SaveAsInkFileAsync(_defaultInkFilePickerLocation));
            CommandSaveAsGifFile =
                new RelayCommand(async() => await SaveAsGifFileAsync(_defaultInkFilePickerLocation));
            CommandSaveCurrent               = new RelayCommand(async() => await SaveCurrentSessionAsync());
            CommandUndo                      = new RelayCommand(() => { InkOperator?.UndoLastStorke(); });
            CommandRedo                      = new RelayCommand(() => { InkOperator?.RedoLastStorke(); });
            CommandLoadInkFile               = new RelayCommand(async() => await OpenInkFile(_defaultInkFilePickerLocation));
            ClearImageSource                 = new RelayCommand(() => { CurrentImageSource = null; });
            CommandClearAll                  = new RelayCommand(async() => await DoClearAll());
            CommandPickImageFile             = new RelayCommand(async() => await DoPickImageFile());
            CommandApplySampleImageSelection = new RelayCommand(async() => await ApplySampleImageSelection());
            CommandPickRecentColor           = new RelayCommand <SolidColorBrush>(DoPickRecentColor);

            IsFullScreen = false;

            Document = new TracingDocument
            {
                Type   = DocumentType.TempOrNew,
                Status = DocumentStatus.Saved
            };

            RecentColors = new Queue <Color>();
            CurrentCanvasBackgroundBrush = new SolidColorBrush(Colors.White);

            SampleImages = new ObservableCollection <ImageSource>(new List <ImageSource>());
            for (var i = 1; i <= 2; i++)
            {
                SampleImages.Add(new BitmapImage(new Uri($"ms-appx:///Assets/Samples/{i}.jpg")));
            }
        }