2010-09-30 4 views

ответ

330

Эквивалент WPF будет System.Windows.MessageBox. Он имеет довольно похожий интерфейс, но использует другие перечисления для параметров и возвращаемого значения.

+14

версия WPF не хватает Retry, Ignore и Отмена комбинации кнопок, хотя. Единственными доступными являются Ok и Cancel. – Mehrad

7

Как другие говорят, есть один в МОФ пространстве имен (System.Windows).

Проблема в том, что это тот же старый почтовый ящик с ОК/Отмена и т. Д. Vista/Win7 перешел на использование диалоговых окон задач.

К сожалению, нет простого стандартного интерфейса для диалоговых окон задач. Я использую this one

9

MessageBox в Расширенном WPF Toolkit очень приятный. Он находится в Microsoft.Windows.Controls.MessageBox после ссылки на DLL инструментария. Конечно, это было выпущено 9 августа 2011 года, поэтому для вас это не было бы вариантом. Его можно найти по телефону Codeplex для всех, озираясь вокруг.

166

вы можете использовать этот

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

для получения дополнительной информации посетите http://www.c-sharpcorner.com/uploadfile/mahesh/messagebox-in-wpf/

+0

... и, как и в других ответах, пространство имен здесь будет «System.Windows» как противостоящее «System.Windows.Forms», – Viking

11

WPF содержит следующие MessageBox:

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

} 
1

Может закодировать ее ниже помогает

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

В WPF кажется, этот код:

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

заменяется:

System.Windows.MessageBox.Show("Test"); 
Смежные вопросы