private void Window_Closing(object sender, CancelEventArgs e)
        {
            ((Window)sender).Closing -= Window_Closing;
            UpdateViewModelBase viewModel = (UpdateViewModelBase)this.DataContext;

            PropertyChangedEventManager.RemoveHandler(viewModel, this.ViewModel_DialogResultChanged, nameof(viewModel.DialogResult));
        }
 protected UpdateViewModelBase(IReadOnlyCollection <IReleaseInfo> releases)
 {
     this.Document        = UpdateViewModelBase.CreateDocument(this.Releases = releases);
     this.CancelCommand   = new DelegateCommand(this.Cancel);
     this.DownloadCommand = new DelegateCommand(this.Download, () => !this.BytesTransferred.HasValue);
 }