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:
usingWpfMessageBoxLibrary;WpfMessageBoxResultresult=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:usingWpfMessageBoxLibrary;varmsgProperties=newWpfMessageBoxProperties(){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",};WpfMessageBoxResultresult=WpfMessageBox.Show(this,refmsgProperties);
The
WpfMessageBoxPropertiesobject allows you to retrieve theTextBoxandCheckBoxvalues after the user closed the message box:boolcheckBoxChecked=msgProperties.IsCheckBoxChecked;stringtextBoxContent=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.

