2010-09-30 16 views

Respuesta

330

El equivalente de WPF sería System.Windows.MessageBox. Tiene una interfaz bastante similar, pero usa otras enumeraciones para los parámetros y el valor de retorno.

+14

La versión WPF carece Reintentar, Omitir y Cancelar combinación de botones sin embargo. Los únicos disponibles son Ok y Cancelar. – Mehrad

7

Como el otro decir, hay uno en el espacio de nombres WPF (System.Windows).

El problema es que es el mismo antiguo cuadro de mensaje con Aceptar/Cancelar, etc. Vista/Win7 ha pasado a utilizar cuadros de diálogo de tareas en su lugar.

Lamentablemente, no existe una interfaz estándar fácil para los cuadros de diálogo de tareas. Yo uso this one

9

El MessageBox en el WPF Toolkit extendido es muy agradable. Está en Microsoft.Windows.Controls.MessageBox después de hacer referencia a la DLL de Toolkit. Por supuesto, esto fue lanzado el 9 de agosto de 2011, por lo que no habría sido una opción para ti originalmente. Se puede encontrar en Codeplex para cualquiera que esté mirando alrededor.

166

puede utilizar esta

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

para obtener más información, visite http://www.c-sharpcorner.com/uploadfile/mahesh/messagebox-in-wpf/

+0

... y como en las otras respuestas, el espacio de nombre aquí sería "System.Windows" como opuesto a "System.Windows.Forms" – Viking

11

WPF contiene el siguiente cuadro de mensaje:

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

} 
1

Tal codificar su continuación ayuda

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(); 
     } 
    } 
} 
1

En WPF parece este código:

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

se sustituye por:

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