I need this feature as well, so I've created a derived MessageBox class with a custom template and dependency property. I can display it like so:
var msgbox = new CheckableMessageBox ();
msgbox.ShowDialog();
But it shows only the OK button. How can change the MessageBoxButton in this msgbox instance to display another set of buttons (YesNo/OKCancel/etc) ?