Я хочу дождаться завершения операции, прежде чем продолжить следующую операцию.WPF - Дождитесь завершения задачи перед запуском
(Операция 1) Программа десериализует режим просмотра и отображает данные в datagrid.
(Operation2) Программа устанавливает требуемую высоту окна.
(Operation3) Программа отображает и сохраняет изображение datagrid.
(Operation4) Программа закрывается.
В настоящий момент программа вылетает из строя, потому что я считаю, что определенные операции не имеют необходимого времени для правильной работы. Когда у меня появилось окно с сообщениями в верхней части кода, он работал нормально. Работа в 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();
«Прямо сейчас программа вылетает», не могли бы вы предоставить исключение? – Karolis
Используйте (Dispatcher.Invoke (новые действия (() => {}), DispatcherPriority.ContextIdle, null);) - как коды, чтобы убедиться, что все готово. – Ron
Спасибо Рамин, работает! –