2012-04-22 4 views
1

je commence dans ma demande quelques fils commeObtenez toutes les fenêtres de toutes les discussions

this.Thread = new Thread(() => 
    { 
     System.Windows.Threading.Dispatcher.CurrentDispatcher.BeginInvoke(new Action(() => 
     { 
     ... 
     ... 

     })); 
     System.Windows.Threading.Dispatcher.Run(); 
          }) { IsBackground = true, Name = Constants.SPECIAL_UI_THREAD_NAME}; 
    this.Thread.SetApartmentState(ApartmentState.STA); 
    this.Thread.CurrentCulture = Thread.CurrentThread.CurrentCulture; 
    this.Thread.CurrentUICulture = Thread.CurrentThread.CurrentUICulture; 
    this.Thread.Start(); 

Ils ont tous une fenêtre qui est généré et affiché. Maintenant, quand je l'utilise dans mon fil principal

Application.Current.Windows

Je ne reçois pas les fenêtres de mes fils supplémentaires.

Comment puis-je obtenir toutes les fenêtres de tous les threads de mon application?

Répondre

0

Vous ne devez pas créer de fenêtres sur un thread autre que le thread principal de l'application. Au lieu de cela, toutes les fenêtres doivent être créées sur le thread principal de l'application et utiliser d'autres threads (par exemple, la bibliothèque parallèle des tâches) pour fonctionner de manière asynchrone de sorte que le thread principal de l'application (et donc l'interface utilisateur) reste réactif.

+0

J'ai besoin de créer des fenêtres sur d'autres threads en raison des performances de création de fenêtres. Tout cela fonctionne très bien. Maintenant, j'ai le problème d'obtenir les fenêtres des autres threads. – BennoDual

+0

@ t.kehl La "performance de la création de fenêtres" est excellente et toujours assez bonne. Peut-être que cela prend trop de temps pour obtenir les données. Puis déplacez cela vers un fil. –

+0

@Henk Holterman - Mais ma question ne portait pas sur la création de fenêtres dans un thread - cela fonctionne ici très bien et je ne peux pas changer cela - à la place je cherche un moyen d'obtenir toutes les fenêtres créées dans différents threads. – BennoDual

Questions connexes