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 the standard .NET MessageBoxResults.
- Uses the standard MessageBox icons.
- Ability to define custom buttons text.
- Optional header text.
- Optional TextBox.
- Optional CheckBox.
-
Install through Nuget
-
WpfMessageBox uses static method like the standard .NET MessageBox:
using WpfMessageBoxLibrary; MessageBoxResult result = WpfMessageBox.Show("Some text", "Some title", MessageBoxButton.OK, MessageBoxImage.Exclamation);
-
In order to use the extra features offered by WpfMessageBox, you need to initialize a new
WpfMessageBoxProperties
which will hold the desired properties, then use the relevant static method:using WpfMessageBoxLibrary; var msgProperties = new WpfMessageBoxProperties() { Button = MessageBoxButton.OKCancel, ButtonOkText = "Set name", CheckBoxText = "Don't ask again", Image = MessageBoxImage.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", }; MessageBoxResult result = WpfMessageBox.Show(this, ref msgProperties);
-
The
WpfMessageBoxProperties
object allows you to retrieve theTextBox
andCheckBox
values 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.