private void OpenDBPathDialog() { var manager = new DatabasePathManager(); var dialog = new DatabasePathDialog(manager); if (dialog.ShowDialog() == true) { System.Diagnostics.Process.Start(Application.ResourceAssembly.Location);//restart } Application.Current.Shutdown(); }
public async Task <object> Execute(MetroWindow window, object args) { var pathDlg = new DatabasePathDialog(); var vm = pathDlg.DataContext as DatabasePathViewModel; Debug.Assert(vm != null); TaskCompletionSource <MoveDatabaseResult> tcs = new TaskCompletionSource <MoveDatabaseResult>(); vm.CloseRequested += async(s, e) => { await window.HideMetroDialogAsync(pathDlg); tcs.TrySetResult(new MoveDatabaseResult(vm.Path, vm.OverwriteExisting)); }; await window.ShowMetroDialogAsync(pathDlg); return(await tcs.Task); }