Click here to Skip to main content
12,882,639 members (25,486 online)
Click here to Skip to main content
Add your own
alternative version


27 bookmarked
Posted 13 Nov 2013

WPF MessageBox Service

, 21 Nov 2013 CPOL
Rate this:
Please Sign up or sign in to vote.
A message box service implementation that is based on WPF.


Februrary, 2017.

I have released a ContentDialogService implementation that also supports mocal dialogs through the same API as mentioned in the project below: Here is the link to the CodeProject article:

November, 2013:

I have released a message box service implementation that is based on WPF at:

See feature description and documentation for full details of the first version.

  • API coverage of standard System.Message box as of .NET 4.0
  • Themable WPF MVVM compliant Message Box Service
  • Localized in several languages
  • Display of Exception Summary and Details
  • 3 Icon sets
  • 2 Window Chrome Styles + Metro Dark and Light themes
  • Hyperlink display
  • Escape Key, Alt-F4, Window Close Button (X) interpretation
  • Forced Choice supported in a nice way  with user notification


The implementation is a spin off from my editor project:

Best thing is the exception display - it helps me when running the release version and still trying to find some issues that may not appear in the debug version:

result = Msg.Show(exp, "Unexpected Error",
  MsgBoxButtons.OK, MsgBoxImage.Error, MsgBoxResult.NoDefaultButton,
  "Please click on the link to check if this is a known problem (and report it if not):", null, true); 

Using the code 

The code is rather simple to use (see released demo applications for more details). Start a new WPF application project and reference the MsgBox.DLL. Use, for example, this code:

MsgBoxResult result = Msg.Show("hello world message", "hellow world caption"); 


to show a simple message box (see codeplex site for more advanced applications).

Points of Interest 

Other message box service implementations are usually part of a particular framework. So re-using these often does not come without the hassle of having to initialize and use a complex framework when all one wants it to use a message box service. Its sometimes even impossible to use a message box service from a particular framework without having to re-use the complete framework. 

Most frameworks I have seen  do not care about the System.MessageBox API. So, a huge conversion is often required when refactoring for that framework. This is not the case with the MsgBox.

Please let me know if you feel the posted documentation is helpful or if you are missing anything crucial. I would also like to see if anyone finds this useful and does actually use it in their application. Please give me your feedback - the good and the bad - if any - thanks a lot. 


  • 13.11.2013 - Initial posting. 


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Dirk Bahle
Germany Germany
The Windows Presentation Foundation (WPF) and C# are one of my favorite past time hobbies since I started developing Edi:

and a few other sub-projects on Codeplex. I am normally an algorithms and structure type person but WPF has such interesting sides that I cannot help myself but get into this and MVVM.

You may also be interested in...

Comments and Discussions

SuggestionLocalization typo Pin
Daedalus163221-Nov-13 15:18
memberDaedalus163221-Nov-13 15:18 
GeneralRe: Localization typo Pin
Dirkster9922-Nov-13 7:48
memberDirkster9922-Nov-13 7:48 
Questionnice Pin
BillW3319-Nov-13 9:10
professionalBillW3319-Nov-13 9:10 
AnswerRe: nice Pin
Dirkster9919-Nov-13 12:43
memberDirkster9919-Nov-13 12:43 
GeneralRe: nice Pin
BillW3320-Nov-13 8:10
professionalBillW3320-Nov-13 8:10 
GeneralRe: nice Pin
Dirkster9921-Nov-13 6:41
memberDirkster9921-Nov-13 6:41 
General[My vote of 1] This is not an article Pin
r_hyde13-Nov-13 13:03
memberr_hyde13-Nov-13 13:03 
GeneralRe: [My vote of 1] This is not an article Pin
Dirkster9913-Nov-13 13:47
memberDirkster9913-Nov-13 13:47 
GeneralRe: [My vote of 1] This is not an article Pin
r_hyde13-Nov-13 23:51
memberr_hyde13-Nov-13 23:51 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web01 | 2.8.170422.1 | Last Updated 21 Nov 2013
Article Copyright 2013 by Dirk Bahle
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid