我有一个WPF应用程序,我需要MessageBox
始终是最顶层的。
在胜利形式我会做那样的事情:
System.Windows.Forms.MessageBox.Show(new Form() { TopMost = true }, "sure you wanna save?", "confirm", MessageBoxButtons.YesNo)
但我如何在WPF中执行此操作?
我看到了几个不同的答案,但不是它们对我有用,例如:
MessageBox.Show(Application.Current.MainWindow, "Im always on top - of the main window");
我的mainWindo
为空。
在我的应用程序中,MessageBox
从不同的页面打开 - 而不是窗口
我知道如何以最简单的方式做到这一点吗?
答案 0 :(得分:2)
您必须创建自己的Window
并将其Topmost
值设置为true。
MyWindow dialog = new MyWindow();
dialog.Topmost = true;
dialog.Show();
答案 1 :(得分:1)
使用MessageBoxOptions.DefaultDesktopOnly,它将MessageBox保持在窗口顶部。
MessageBox.Show("You entered an incorrect value. Try once more.", "Wrong input", MessageBoxButton.OK, MessageBoxImage.Exclamation,MessageBoxResult.OK,MessageBoxOptions.DefaultDesktopOnly);