使用Mahapps实现带有“确定”和“取消”的消息框。

3

我正在尝试在我的代码中实现 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;
}

所以,我想使用 Mahapps Message Box 而不是这个 MessageBox,然后使用这个结果变量。


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

3

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

如果您的应用程序主窗口是一个 Metro 窗口,那么您应该可以像下面这样从任何具有对 PresentationFramework 组件的引用的类中调用该方法:

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

请查看以下链接获取更多信息: https://github.com/MahApps/MahApps.Metro/issues/1129 无法在ShowMessageAsync上使用await

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接