Je souhaite attendre la fin d'une opération avant de poursuivre directement l'opération suivante. (Opération 1) Le programme désérialise un modèle de vue et affiche les données dans un DataGrid.WPF - Attendre la fin de la tâche avant de continuer
(Operation2) Le programme définit la hauteur requise de la fenêtre. (Opération3) Le programme restitue et enregistre une image de la grille de données.
(Operation4) Le programme se ferme. À l'heure actuelle, le programme se bloque parce que je crois que certaines opérations n'ont pas le temps nécessaire pour terminer correctement. Quand j'ai eu un messagebox en haut du code, ça a bien fonctionné. Travailler dans VS 2015. NET 4.5, comment puis-je y parvenir?
//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();
"À l'heure actuelle, le programme se bloque", pourriez-vous prévoir une exception? – Karolis
Utilisez (Dispatcher.Invoke (new Action (() => {}), DispatcherPriority.ContextIdle, null);) - comme des codes afin de vous assurer que tout est prêt. – Ron
Merci Ramin, ça marche! –