用OK和Cancel实现Mahapps MessageBox

时间:2016-12-13 12:49:57

标签: c# wpf visual-studio-2015 mahapps.metro

我正在尝试在我的代码中实现Mahapps Metro Message box,但是想在class上使用它,而不是WPF Window,我可以实现吗?,因为我不想要使用普通Message Boxes

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,而是使用此结果变量。

1 个答案:

答案 0 :(得分:2)

由于ShowMessageAsync方法是MetroWindow类的扩展方法,因此您需要有一个窗口来调用它。

如果你的应用程序的主窗口是一个metro窗口,你应该能够从任何引用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