在WPF中是否有一个标准的消息框,如WinForms的System.Windows.Forms.MessageBox.Show(),或者我应该使用WinForms消息框?


当前回答

WPF包含以下消息框:

if (MessageBox.Show("Do you want to Save?", "Confirm", 
    MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
{

}

其他回答

WPF包含以下消息框:

if (MessageBox.Show("Do you want to Save?", "Confirm", 
    MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
{

}

WPF的等效程序是System.Windows.MessageBox。它有一个非常相似的接口,但是使用其他枚举来表示参数和返回值。

你可以用这个:

MessageBoxResult result = MessageBox.Show("Do you want to close this window?",
                                          "Confirmation",
                                          MessageBoxButton.YesNo,
                                          MessageBoxImage.Question);
if (result == MessageBoxResult.Yes)
{
    Application.Current.Shutdown();
}

欲了解更多信息,请访问WPF中的MessageBox。

WPF扩展工具包中的MessageBox非常好。它在Microsoft.Windows.Controls.MessageBox中,在引用工具箱DLL之后。当然,这是2011年8月9日发布的,所以它本来就不是你的选择。每个人都可以在Github上找到它。

WPF中与WinForms的MessageBox等价的是System.Windows.MessageBox。