public static async Task<Project> ShowWelcomeWindow() { return await Application.Current.MainWindow.Dispatcher.Invoke(async () => { var vm = new WelcomeWindowViewModel(new EventWaitHandle(false, EventResetMode.AutoReset)); var window = new WelcomeWindow(vm) { Owner = Application.Current.MainWindow }; window.ShowDialog(); await Task.Run(() => vm.WaitHandle.WaitOne()); return vm.Project; }); }
public WelcomeWindow(WelcomeWindowViewModel vm) { _viewModel = vm; InitializeComponent(); }