C# 使用OK和Cancel实现Mahapps MessageBox

C# 使用OK和Cancel实现Mahapps MessageBox,c#,wpf,visual-studio-2015,mahapps.metro,C#,Wpf,Visual Studio 2015,Mahapps.metro,我试图在我的代码中实现Mahapps Metro消息框,但我想在类上使用它,而不是任何WPF窗口,我能实现吗?因为我不想使用普通的消息框 switch(x) { case "a": //Do something break; case "b": var result = MessageBox.Show("TitleMessage","If you want to continue",MessageboxButton.YesNo); break; } 因此,我

我试图在我的代码中实现
Mahapps Metro消息框
,但我想在
上使用它,而不是任何
WPF窗口
,我能实现吗?因为我不想使用普通的
消息框

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

因此,我想使用
Mahapps消息框
,而不是这个
MessageBox
,然后使用这个结果变量

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

如果应用程序的主窗口是metro窗口,则应该能够从引用PresentationFramework程序集的任何类中调用如下方法:

var metroWindow = (Application.Current.MainWindow as MetroWindow); 
await metroWindow.ShowMessageAsync("title", "message...");
有关更多信息,请参阅以下链接:


Mahapps消息框在活动窗口内运行,因此您需要一个窗口。