public MainViewModel(IThumbnailService thumbnailService, IShareService shareService, IDialogService dialogService) { _thumbnailService = thumbnailService; _shareService = shareService; _dialogService = dialogService; SelectedItem = Thumbnails.FirstOrDefault(); IsChromeOn = true; _zoomFactor = 1; _slideShowDispatcherTimer = new DispatcherTimer(); _slideShowDispatcherTimer.Interval = new TimeSpan(0, 0, 3); _slideShowDispatcherTimer.Tick += OnSlideShowTimerTick; DeleteCommnad = new DelegateCommand(async() => await _dialogService.ShowDialogAsync("Not implemented yet!")); LoadContentCommnad = new DelegateCommand(() => _thumbnailService.SelectFolder()); ShareCommnad = new DelegateCommand(() => _shareService.ShareContent(SelectedItem?.Title, "Share an Image from Photos", ((IViewerItem)SelectedItem).Source)); FullscreenCommnad = new DelegateCommand(() => { ToggleFullScreenMode(); OnPropertyChanged(() => IsFullScreen); }); FileInfoCommnad = new DelegateCommand(() => { IsFileInfoOpen = !IsFileInfoOpen; }); RotateCommnad = new DelegateCommand(() => { if (SelectedItem == null) { return; } SelectedItem.Angle = SelectedItem.Angle + 90; }); StartSlideShowCommnad = new DelegateCommand(() => { IsSlideShowRunning = true; _currentSlideShowImageIndex = 0; ApplicationView.GetForCurrentView().TryEnterFullScreenMode(); CurrentSlideShowImage = Thumbnails.FirstOrDefault()?.ImageSource; Window.Current.CoreWindow.PointerCursor = null; _slideShowDispatcherTimer.Start(); }); Window.Current.CoreWindow.KeyDown += (sender, arg) => { if (arg.VirtualKey == Windows.System.VirtualKey.Escape && IsSlideShowRunning) { IsSlideShowRunning = false; _slideShowDispatcherTimer.Stop(); var view = ApplicationView.GetForCurrentView(); if (view.IsFullScreenMode) { view.ExitFullScreenMode(); Window.Current.CoreWindow.PointerCursor = new Windows.UI.Core.CoreCursor(Windows.UI.Core.CoreCursorType.Arrow, 0); } } }; }