WpfMessageBox is a WPF message box implementation, aimed to be visually balanced between the default WPF style and the native .NET MessageBox. It offers the following features:
- Returns an equivalent of the standard .NET MessageBoxResults.
- Uses an equivalent of the standard MessageBox icons.
- Ability to define custom buttons text.
- Optional header text.
- Optional TextBox.
- Optional CheckBox.
-
Install through Nuget
-
WpfMessageBox uses static methods like the standard .NET MessageBox:
using WpfMessageBoxLibrary; WpfMessageBoxResult result = WpfMessageBox.Show("Some text", "Some title", WpfMessageBoxButton.OK, WpfMessageBoxImage.Exclamation);
-
In order to use the extra features offered by WpfMessageBox, you need to initialize a new
WpfMessageBoxPropertieswhich will hold the desired properties, then use the relevant static method:using WpfMessageBoxLibrary; var msgProperties = new WpfMessageBoxProperties() { Button = WpfMessageBoxButton.OKCancel, ButtonOkText = "Set name", CheckBoxText = "Don't ask again", Image = WpfMessageBoxImage.Exclamation, Header = "No name defined", IsCheckBoxChecked = true, IsCheckBoxVisible = true, IsTextBoxVisible = true, Text = "Please enter the name to use. You can leave the field empty in order to continue using the default name.", Title = "A nice example", }; WpfMessageBoxResult result = WpfMessageBox.Show(this, ref msgProperties);
-
The
WpfMessageBoxPropertiesobject allows you to retrieve theTextBoxandCheckBoxvalues after the user closed the message box:bool checkBoxChecked = msgProperties.IsCheckBoxChecked; string textBoxContent = msgProperties.TextBoxText;
More examples can be found in the Demo project of this repository.
See the changelog.
WpfMessageBox is licensed under the MIT license - see the LICENSE file for details.
Some icons by Yusuke Kamiyamane licensed under a Creative Commons Attribution 3.0 License.

