67 votes

Exécuter du code sur le thread de l'interface utilisateur dans WinRT

Comment puis-je exécuter du code sur le thread de l'interface utilisateur dans WinRT (Windows 8 Metro) ?

Le site Invoke n'existe pas.

8 votes

Note aux futurs lecteurs : N'oubliez pas que si votre application comporte plusieurs fenêtres, il y a plusieurs threads et répartiteurs d'interface utilisateur.

0voto

George Birbilis Points 183

Sur UWP, j'ai eu des problèmes en essayant de définir la propriété Source du contrôle CaptureElement (qui est défini dans XAML), il se plaignait d'être préparé à un thread différent, même si j'essayais de le définir à partir du code qui a été invoqué via un gestionnaire d'événement Page_Loaded. J'ai fini par utiliser ceci pour contourner le problème :

previewControl.Dispatcher.TryRunAsync(CoreDispatcherPriority.Normal, () => {
   previewControl.Source = _mediaCapture;
}).GetAwaiter().GetResult();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X