Recently I was looking for a job on how to call some kind of system dialog from WPF. It turned out that there is no such dialogue in WPF, but there is a library for .NET that allows system dialogs to be called.
The code that allows you to create such a window: ')
using ( var dialog = new TaskDialog ( ) ) { dialog.WindowTitle = title; dialog.MainInstruction = mainInstruction; dialog.Content = exception.Message; dialog.Width = 250; dialog.AllowDialogCancellation = true ; dialog.MainIcon = TaskDialogIcon .Error;
There are a lot of dialogues in the library, everything is pretty. There is a demo in which you can click all.
Most of the dialogs appeared in the OS only from Vista. So if you want to provide support for WinXP, you need to write your own wrapper that checks the TaskDialog.OSSupportsTaskDialogs property and draws something simpler, for example, on the MessageBox, if TaskDialog cannot be created. I did that for my last project. For some dialogs, such a rollback to older system versions is already included in the library.
In general, a useful thing for WinForms and WPF applications.