private void OpenPreviewWindow(object sender, RoutedEventArgs e) { _preWindow?.Close(); var sidemargin = 20; var topmargin = 30; _preWindow = new PreviewWindow(new PreviewWindowViewModel()); _preWindow.Height = Math.Max(164, TokenControl.ImageResolutionHeight) + topmargin * 2; _preWindow.Width = Math.Max(164, TokenControl.ImageResolutionWidth) + sidemargin * 2; _preWindow.Closed += (o, args) => { _preWindow = null; _vm.OpenPreviewWindow.OnCanExecuteChanged(sender); _vm.UpdatePreview.OnCanExecuteChanged(sender); }; _preWindow.Show(); _preWindow.Topmost = _vm.KeepPreviewOnTop; _vm.OpenPreviewWindow.OnCanExecuteChanged(sender); _vm.UpdatePreview.OnCanExecuteChanged(sender); RenderUsingDispatcher(); }