public RefactoringDialogBase(DialogData dialogData, TModel model, TView view, TViewModel viewModel)
        {
            Model     = model;
            ViewModel = viewModel;

            View                      = view;
            View.DataContext          = ViewModel;
            ViewModel.OnWindowClosed += ViewModel_OnWindowClosed;

            MinHeight = dialogData.MinimumHeight;
            MinWidth  = dialogData.MinimumWidth;

            // ReSharper disable once RedundantBaseQualifier
            // We don't want virtual calls here so we need to explicitly call base.
            base.Text = dialogData.Caption;

            // Note that user control must be set after dialog data has been consumed to ensure
            // correct sizing of the dialog
            System.Diagnostics.Debug.Assert(View is System.Windows.Controls.UserControl);
            UserControl = View as System.Windows.Controls.UserControl;
        }
 protected RefactoringPresenterBase(DialogData dialogData, TModel model, IRefactoringDialogFactory factory)
     : base(dialogData, model, factory)
 {
 }