private void OnConvertClick(object sender, RoutedEventArgs e)
        {
            Debug.Assert(_parentFrame != null);
            if (_parentFrame == null)
            {
                return;
            }
            _isConverting        = true;
            _isConversionError   = false;
            btnConvert.IsEnabled = false;

            if (_converterOutput == null)
            {
                _converterOutput = new DirectoryConverterOutput();
            }
            _converterOutput.Options = _options;
            if (chkRecursive.IsChecked != null)
            {
                _converterOutput.Recursive = chkRecursive.IsChecked.Value;
            }
            if (chkContinueOnError.IsChecked != null)
            {
                _converterOutput.ContinueOnError = chkContinueOnError.IsChecked.Value;
            }
            _converterOutput.Subscribe(this);

            _converterOutput.SourceDir = txtSourceDir.Text;
            _converterOutput.OutputDir = txtOutputDir.Text;

            _parentFrame.Content = _converterOutput;

            //_converterOutput.Convert();
            this.Dispatcher.BeginInvoke(DispatcherPriority.Normal,
                                        new ConvertHandler(_converterOutput.Convert));
        }
        private void OnConvertClick(object sender, RoutedEventArgs e)
        {
            Debug.Assert(_parentFrame != null);
            if (_parentFrame == null)
            {
                return;
            }
            _isConverting        = true;
            _isConversionError   = false;
            btnConvert.IsEnabled = false;

            if (_converterOutput == null)
            {
                _converterOutput = new DirectoryConverterOutput();
            }
            _converterOutput.Options = _options;
            if (chkRecursive.IsChecked != null)
            {
                _converterOutput.Recursive = chkRecursive.IsChecked.Value;
            }
            if (chkContinueOnError.IsChecked != null)
            {
                _converterOutput.ContinueOnError = chkContinueOnError.IsChecked.Value;
            }
            _converterOutput.Subscribe(this);

            _converterOutput.SourceDir = txtSourceDir.Text;
            _converterOutput.OutputDir = txtOutputDir.Text;

            _parentFrame.Content = _converterOutput;

            //_converterOutput.Convert();
            this.Dispatcher.BeginInvoke(DispatcherPriority.Normal,
                new ConvertHandler(_converterOutput.Convert));
        }