我想等待操作完成,然后再直接继续下一个操作。
(操作1(程序反序列化视图模型,并在数据网格中显示数据。
(操作2(程序设置窗口所需的高度。
(操作 3( 程序呈现并保存数据网格的图像。
(操作4( 程序关闭。
现在程序崩溃了,因为我认为某些操作没有正确完成所需的时间。当我在代码顶部显示消息框时,它工作正常。在VS 2015 .net 4.5中工作,如何实现这一点?
//MessageBox.Show("Hello");
BinaryFormatter reader = new BinaryFormatter();
using (var file = File.Open(v, FileMode.Open))
{
this.Vm = (ViewModel)reader.Deserialize(file);
}
this.DataContext = Vm;
myRef = (CollectionViewSource)this.Resources["ColViewSource"];
properHeight = (myRef.View.Groups.Count - 1) * 50;
foreach (var item in Vm.Collection)
{
properHeight += 55;
}
this.Height = properHeight;
CreateBitmapFromVisual(grid, "picture.png");
Application.Current.Shutdown();
我不
认为您的应用程序会因为发布的示例代码而崩溃。项目中必须有一些其他代码,当您尝试使用以下行关闭应用程序时,这些代码会导致崩溃。
Application.Current.Shutdown();
更不用说,您可以在调试模式下使用 F10 验证代码。
使用以下命令以确保一切准备就绪:
Dispatcher.Invoke(new Action(() => { }), DispatcherPriority.ContextIdle, null);
此表可以帮助您确定哪个调度程序优先级更合适。