Bonjour
Je développe une application (WPF + C#) devant me permettre de contrôler un appareil photo à distance. Jusqu'à présent pas de problème, j'arrive à déclencher des poses.
Maintenant je voudrais lancer la prise de vue dans un thread séparé pour éviter de bloquer l'interface utilisateur pendant une longue pose. J'ai tenté ceci :
Mais cela ne fonctionne pas. La prise de vue est bien exécutée mais l'interface reste bloquée. Qu'ai'je fait de faux ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 //méthode Execute d'une classe implémentant ICommand //vm est le ViewModel lié au datacontext de ma vue public void Execute(object parameter) { Action dispatchAction = () => { //méthode exécutant la prise de vue sur l'appareil connecté vm.SelectedCamera.takeBulbPicture(vm.bulbTime); }; ThreadStart start = delegate() { vm.Dispatcher.Invoke(DispatcherPriority.Normal, dispatchAction); }; new Thread(start).Start(); }
Partager