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


当前回答

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

其他回答

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

正如其他人所说,在WPF命名空间(System.Windows)中有一个MessageBox。

问题是,它是相同的旧消息框与确定,取消等。Windows Vista和Windows 7转而使用任务对话框。

不幸的是,任务对话框没有简单的标准界面。我使用来自CodeProject KB的实现。

在WPF中,这段代码,

System.Windows.Forms.MessageBox.Show("Test");

替换为:

System.Windows.MessageBox.Show("Test");

你可以用这个:

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上找到它。