2016-12-13 4 views
1

Я пытаюсь реализовать Mahapps Metro Message box в своем коде, но хотите использовать его на class, а не какой-либо WPF Window, я могу добиться этого?, Потому что я не хочу использовать обычный Message Boxes.Реализовать Mahapps MessageBox с ОК и Отмена

switch(x) 
{ 
    case "a": 
    //Do something 
    break; 
    case "b": 
    var result = MessageBox.Show("TitleMessage","If you want to continue",MessageboxButton.YesNo); 
    break; 
} 

так что вместо этого MessageBox, я хочу использовать Mahapps Message Box, а затем использовать эту переменную результата.

+0

Mahapps Message Box работает в активном окне, так что вам потребуется окно. – Chrille

ответ

1

Поскольку метод ShowMessageAsync является методом расширения класса MetroWindow, для его вызова необходимо иметь окно.

Если главное окно ваших приложений является окном метро вы должны быть в состоянии вызвать метод, как это из любого класса, который имеет ссылку на сборку PresentationFramework:

var metroWindow = (Application.Current.MainWindow as MetroWindow); 
await metroWindow.ShowMessageAsync("title", "message..."); 

Пожалуйста, обратитесь к следующим ссылкам для более информация: https://github.com/MahApps/MahApps.Metro/issues/1129

Can't use await on ShowMessageAsync