【发布时间】:2019-08-07 05:30:52
【问题描述】:
我将一个ObservableCollection 的视图模型绑定到它。每个视图模型都用于数据网格行详细信息加载。
当数据库的数据加载然后显示window.ShowDialog 并在for循环完成后自动关闭窗口
【问题讨论】:
标签: c# wpf datagrid progress-bar
我将一个ObservableCollection 的视图模型绑定到它。每个视图模型都用于数据网格行详细信息加载。
当数据库的数据加载然后显示window.ShowDialog 并在for循环完成后自动关闭窗口
【问题讨论】:
标签: c# wpf datagrid progress-bar
对于您的情况,您想使用window.Show() 而不是window.ShowDialog()。
以下是它们之间的区别:
window.Show();代码不会停止。这意味着您打开窗口并且代码继续执行。在上面的示例中,它将执行“从数据库获取数据”和“for 循环”。 使用此方法,用户可以在应用程序中的窗口之间切换。在应用程序执行正常进行时使用
window.ShowDialog();代码停止,直到窗口关闭。它将从新窗口执行代码,但在上面的示例中,它只会在他的代码中关闭窗口后继续“从数据库获取数据”。 在这种情况下,只有打开的窗口才会响应用户输入,直到它关闭
你应该这样做:
Window win = new window();
win.Show();
//get data from database
//do for loop
win.Close();
【讨论】: