我有一个使用MVVM模式的WPF应用程序.启动窗口包括3所控制Menu,TitleBar和一个DataGrid.目前,完成所有操作(从服务中获取数据,动态生成DataGrid及其渲染)大约需要5秒钟,之后它会突然显示给UI.问题是,最终用户在启动程序后必须等待5秒才能看到窗口.大多数操作都与之相关DataGrid.所以我将DataGrid相关代码移动到了Window LoadedEvent,现在窗口突然打开但是显示黑屏,一段时间后它显示DataGrid的数据.
所以我的目标是在完成初始加载后显示窗口,Menu并TitleBar在完成DataGrid后台线程中加载任务,以便在视图中显示加载面板.如何DataGrid在完成初始加载后调用与该相关的特定方法?
此外,我不能使用Splash屏幕(它在要求中).
请指教?
您应该在后台执行任何长时间运行的过程Thread...这将释放您的UI.如果您不熟悉多线程应用程序,请查看MSDN 上的BackgroundWorker类页面,因为它具有代码示例.
另外需要注意的是,你应该IsAsync="True"在你的Binding声明中添加属性DataGrid.ItemsSource,让它知道它必须等待数据.这样,您DataGrid将显示为空,然后当数据准备就绪时,它将填充.
| 归档时间: | 
 | 
| 查看次数: | 1572 次 | 
| 最近记录: |