【发布时间】:2015-05-28 07:19:01
【问题描述】:
我正在使用 WPF 开发应用程序。
在我的例子中,用户有 2 台显示器。当他在副屏打开应用时,会加载将近 5 秒的数据。在此期间,他可能会转向主屏幕查看个人资料,例如访问 Facebook 或访问 Twitter。
加载数据后,应该会提示一个对话框。令我困扰的是,它经常显示在他处理个人资料的主屏幕上,而不是他打开应用程序的辅助屏幕上。对话窗口应该显示在应用程序的顶部。
我认为这是因为加载数据时应用程序未处于活动状态。你们有什么想法吗?
我知道 MessageBox.Show() 有一个“所有者”参数可以解决这个问题。如何自动获得正确的所有者?我使用的是 PRISM 模式,因此我很难找到作为所有者的窗口。
代码:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private async void Button_Click(object sender, RoutedEventArgs e)
{
await Task.Delay(5000);
MessageBox.Show("Loaded!");
}
}
【问题讨论】:
-
如何显示对话框。贴出代码。顺便说一句,您可以显示启动画面或一些进度指示器而不是消息框。
-
这可能会回答您的问题:stackoverflow.com/a/679868/2899478
-
这是一个想法。发布一些关于如何打开对话框的代码
-
代码已发布。谢谢你提醒我。