2010-09-30 13 views

risposta

330

L'equivalente WPF sarebbe il System.Windows.MessageBox. Ha un'interfaccia abbastanza simile, ma usa altre enumerazioni per i parametri e il valore di ritorno.

+14

La versione WPF manca Riprova, Ignora e Cancellare combinazione di pulsanti però. Gli unici disponibili sono Ok e Annulla. – Mehrad

7

Come l'altro dicono, ce n'è uno in namespace WPF (System.Windows).

Il problema è che si tratta della stessa vecchia casella di messaggio con OK/Annulla ecc. Vista/Win7 è stata spostata per utilizzare invece le finestre di dialogo delle attività.

Sfortunatamente non esiste un'interfaccia standard semplice per le finestre di dialogo delle attività. Io uso this one

9

Il MessageBox nel Toolkit WPF esteso è molto bello. È in Microsoft.Windows.Controls.MessageBox dopo aver fatto riferimento alla DLL del toolkit. Naturalmente questo è stato rilasciato il 9 agosto 2011, quindi non sarebbe stata un'opzione per te in origine. Può essere trovato al Codeplex per tutti quelli che guardano in giro.

166

è possibile utilizzare questo

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

per ulteriori informazioni visitare http://www.c-sharpcorner.com/uploadfile/mahesh/messagebox-in-wpf/

+0

... e come nelle altre risposte, lo spazio dei nomi qui sarebbe "System.Windows" come opposto a "System.Windows.Forms" – Viking

11

WPF contiene le seguenti MessageBox:

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

} 
1

Forse codificare il suo seguito aiuta

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

In WPF sembra questo codice:

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

è sostituito con:

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