2010-09-30 5 views

Antwort

330

Das WPF-Äquivalent wäre das System.Windows.MessageBox. Es hat eine ziemlich ähnliche Schnittstelle, verwendet jedoch andere Aufzählungen für Parameter und Rückgabewert.

+14

Die WPF-Version fehlt wiederholen, ignorieren und obwohl Abbrechen-Taste Kombination. Die einzigen verfügbaren sind Ok und Abbrechen. – Mehrad

7

Als andere sagen, da man im wpf Namespace (System.Windows).

Das Problem ist, dass es die gleiche alte Nachrichtenbox mit OK/Abbrechen usw. ist. Vista/Win7 ist weitergegangen, um stattdessen Task-Dialoge zu verwenden.

Leider gibt es keine einfache Standardschnittstelle für Taskdialoge. Ich verwende this one

9

Die MessageBox im erweiterten WPF Toolkit ist sehr nett. Es ist bei Microsoft.Windows.Controls.MessageBox nach dem Verweisen auf die Toolkit-DLL. Natürlich wurde das am 9. August 2011 veröffentlicht, also wäre es für dich ursprünglich keine Option gewesen. Es kann bei Codeplex für alle da draußen suchen gefunden werden.

166

können Sie diese verwenden

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

für weitere Informationen besuchen Sie http://www.c-sharpcorner.com/uploadfile/mahesh/messagebox-in-wpf/

+0

... und wie in den anderen Antworten wäre der Namespace hier "System.Windows" im Gegensatz zu "System.Windows.Forms" – Viking

11

WPF enthält folgende MessageBox:

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

} 
1

Vielleicht

hilft ihr Code unten
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 scheint es diesen Code:

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

mit Fassung:

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