public ImportWizard(IServiceProvider serviceProvider, string sourcePath, string projectPath) { var interpreterService = serviceProvider.GetComponentModel().GetService<IInterpreterOptionsService>(); _site = serviceProvider; ImportSettings = new ImportSettings(serviceProvider, interpreterService); _pageSequence = new CollectionViewSource { Source = new ObservableCollection<Page>(new Page[] { new FileSourcePage { DataContext = ImportSettings }, new InterpreterPage { DataContext = ImportSettings }, new SaveProjectPage { DataContext = ImportSettings } }) }; PageCount = _pageSequence.View.OfType<object>().Count(); PageSequence = _pageSequence.View; PageSequence.CurrentChanged += PageSequence_CurrentChanged; PageSequence.MoveCurrentToFirst(); if (!string.IsNullOrEmpty(sourcePath)) { ImportSettings.SetInitialSourcePath(sourcePath); Loaded += ImportWizard_Loaded; } if (!string.IsNullOrEmpty(projectPath)) { ImportSettings.SetInitialProjectPath(projectPath); } ImportSettings.UpdateIsValid(); DataContext = this; InitializeComponent(); }
async void ImportWizard_Loaded(object sender, RoutedEventArgs e) { Loaded -= ImportWizard_Loaded; await ImportSettings.UpdateSourcePathAsync().HandleAllExceptions(_site); }