Create an abstraction (interface) responsible for showing dialogs.
if (dialog.ShowDialog() == DialogResult.OK) WPF Dialogs
There is no native WPF folder browser, but you can either use the WinForms FolderBrowserDialog (requires adding a reference to System.Windows.Forms ) or the modern Windows API Code Pack. The modern approach is to use the FolderBrowser from Microsoft.WindowsAPICodePack.Dialogs . WPF Dialogs
var progressDialog = new ProgressDialog("Processing..."); progressDialog.Show(); WPF Dialogs