如何在Windows应用商店应用中显示消息?

use*_*566 27 c# windows-8

如何使用c#在Windows 8应用程序中显示消息框,如在Windows Phone 7中调用MessageBox.Show()?

Ind*_*ore 48

   MessageDialog msgDialog = new MessageDialog("Your message", "Your title");

   //OK Button
   UICommand okBtn = new UICommand("OK");
   okBtn.Invoked = OkBtnClick;
   msgDialog.Commands.Add(okBtn);

   //Cancel Button
   UICommand cancelBtn = new UICommand("Cancel");
   cancelBtn.Invoked = CancelBtnClick;
   msgDialog.Commands.Add(cancelBtn);

   //Show message
   msgDialog.ShowAsync();
Run Code Online (Sandbox Code Playgroud)

你的回电话

private void CancelBtnClick(IUICommand command)
{
}

private void OkBtnClick(IUICommand command)
{
}
Run Code Online (Sandbox Code Playgroud)


PS您可以按照本教程了解更多信息.

  • 只需在它上面做一个包装就会变得更简单 (2认同)

JP *_*oto 26

MessageDialog类应该满足您的需求.


Ant*_*ula 12

我更简单的方法,对于确认类型的消息框:

  var dlg = new MessageDialog("Are you sure?");
  dlg.Commands.Add(new UICommand("Yes", null, "YES"));
  dlg.Commands.Add(new UICommand("No", null, "NO"));
  var op = await dlg.ShowAsync();
  if ((string)op.Id == "YES")
  {
    //Do something
  }
Run Code Online (Sandbox Code Playgroud)


小智 8

为了更简单的方法,只需显示消息文本和确定按钮.使用Windows.UI.Popups命名空间 创建messagebox()方法应该是的方法

using Windows.UI.Popups;
protected async void messageBox(string msg)
{
      var msgDlg = new Windows.UI.Popups.MessageDialog(msg);
      msgDlg.DefaultCommandIndex = 1;
      await msgDlg.ShowAsync();
}
Run Code Online (Sandbox Code Playgroud)

然后在你的代码中调用此方法

messageBox("Unexpected error held");
Run Code Online (Sandbox Code Playgroud)

  • @DominikC因为没有办法找出它何时完成,这也使错误处理几乎不可能.有关详细信息,请参阅[本文](http://msdn.microsoft.com/en-us/magazine/jj991977.aspx)中的示例. (2认同)