public static void Wait(string title, string message, Action backgroundThread, Action endAction = null) { ProgressWindow rd = new ProgressWindow { Title = title, Message = message, }; Async.Do( backgroundThread: backgroundThread, endAction: endAction, finallyAction: () => { rd.Completed = true; rd.Close(); }); rd.ShowDialog(); }