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


当前回答

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

其他回答

也许下面的代码会有所帮助:

using Windows.UI.Popups;
namespace something.MyViewModels
{
    public class TestViewModel
    {
        public void aRandonMethode()
        {
            MyMessageBox("aRandomMessage");
        }

        public async void MyMessageBox(string mytext)
        {
            var dialog = new MessageDialog(mytext);
            await dialog.ShowAsync();
        }
    }
}

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

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

在WPF中,这段代码,

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

替换为:

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

WPF包含以下消息框:

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

}