public static Xceed.Wpf.Toolkit.MessageBox MessageDialog(string text, string caption, string buttonType)
        {
            var box = new Xceed.Wpf.Toolkit.MessageBox();
            // ugh :'(
            var       button = box.GetType().GetField("_button", BindingFlags.NonPublic | BindingFlags.Instance);
            FieldInfo field  = typeof(MessageBoxButton).GetField(buttonType, BindingFlags.Public | BindingFlags.Static);

            button.SetValue(box, (MessageBoxButton)field.GetValue(null));
            System.Windows.VisualStateManager.GoToState(box, buttonType, false);
            box.Text                = text;
            box.Caption             = caption;
            box.OkButtonContent     = Properties.Resources.ok;
            box.CancelButtonContent = Properties.Resources.cancel;
            return(box);
        }