Ine*_*elp 3 c# wpf window messagebox
请考虑以下代码:
private void Window_Loaded(object sender, RoutedEventArgs e)
{
MessageBox.Show("MyMessage");
}
Run Code Online (Sandbox Code Playgroud)
如果我在加载WPF窗口后尝试显示一个消息框,当我运行应用程序时,WPF窗口显示为透明背景(只有非客户区域可见)并且需要3-5秒直到出现消息框.仅在消息框关闭后,WPF窗口才会恢复正常.
这是正常的吗?有没有人经历过这个?
编辑:我添加了窗口的截图:

该MessageBox是越来越显示在Normal 的DispatcherPriority,这东西就像之前发生DataBind,Render以及Loaded,让您的初始化窗口的对象的代码是没有得到运行您关闭后,直到MessageBox
您可以通过简单地显示MessageBox稍后的DispatcherPriority 来解决此问题,例如Background
private void Window_Loaded(object sender, RoutedEventArgs e)
{
InitializeComponent();
this.Dispatcher.BeginInvoke(DispatcherPriority.Background,
new Action(delegate() { MessageBox.Show("MyMessage"); }));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1889 次 |
| 最近记录: |