“Le thread appelant doit être PERSONNEL, parce que de nombreux composants de l'INTERFACE utilisateur besoin de cette” erreur lors de la création d'un WPF Fenêtre pop-up dans le thread

J'ai une application WPF dans lequel un thread vérifie une certaine valeur. Dans certains cas, je fais preuve d'une pop-up Window afin d'afficher un message. Quand j'ai créer cette fenêtre pop-up dans le fil, une exception est levée par la fenêtre pop-up du constructeur:

"Le thread appelant doit être PERSONNEL, parce que de nombreux composants de l'INTERFACE utilisateur, l'exigent."

Comment puis-je résoudre ce problème?

C'est mon code pour la création de la fenêtre pop-up:

//using System.Threading;
//using System.Windows.Threading;
Thread Messagethread = new Thread(new ThreadStart(delegate()
{
    DispatcherOperation DispacherOP = 
        frmMassenger.Dispatcher.BeginInvoke(
            DispatcherPriority.Normal,
            new Action(delegate()
            {
                frmMassenger.Show();
            }));
}));
Messagethread.Start();
J'ai trouvé le Problème de la Racine. J'ai un timer qui, dans la chaque horloge.tique , pour vérifier les nouveaux messages et de montrer ensuite chaque nouveau message. Thread horloge de faire mon travail si dur.
Hors-sujet: Dans WPF, windows sont appelés: "windows"; pas de "formes". Ce dernier terme est utilisé dans un autre framework d'INTERFACE, Windows Forms.
Je Vous Remercie
Double Possible de Le thread appelant doit être PERSONNEL, parce que de nombreux composants de l'INTERFACE utilisateur besoin de cette

OriginalL'auteur Rev | 2010-04-17

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *