IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

Transformer Windows form en WPF ?


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 99
    Par défaut Transformer Windows form en WPF ?
    Bonsoir,

    J'ai récupéré une source sur internet et lorsque j'exécute et que je met une MessageBox.shox(...); le code s'exécute bien hors, lorsque je met une textbox il me jette ... je met mon code, si quelqu'un peu m'aider et eventuellement m'expliquer ...

    voici la méthode sur laquelle le débuggeur me renvoit.

    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
    18
    19
    20
    21
    22
    23
    private void InvokeDelegate(Delegate del, object[] args)
            {
                System.ComponentModel.ISynchronizeInvoke synchronizer;
                synchronizer = del.Target as System.ComponentModel.ISynchronizeInvoke;
                if (synchronizer != null) //A Windows Forms object
                {
                    if (synchronizer.InvokeRequired == false)
                    {
                        del.DynamicInvoke(args);
                        return;
                    }
                    try
                    {
                        synchronizer.Invoke(del, args); //Une exception a été levée par la cible d'un appel.
                    }
                    catch
                    { }
                }
                else //Not a Windows Forms object
                {
                    del.DynamicInvoke(args);
                }
            }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void Imdb_MovieParsed(Imdb.Movie M)
            {
                downloadposter(M.PosterUrl);
                MessageBox.Show(M.Description); //fonctionne
                txt_resume.Text = M.Description; //plante !!
            }
    Si quelqu'un peut m'aider. Pour l'info j'ai récupéré le service de imdb :
    http://imdb.codeplex.com/
    Vous trouverez ce que j'ai récupérer dans l'onglet "Downloads".

    Et donc je souhaiterais transformer un ISynchronizeInvoke de Winform en WPF ... (car aparament l'erreur viendrait de là.)

    Merci de m'aider à sortir de cette galère.

    Ju

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Oui mais tu as l'erreur exacte ?

  3. #3
    Membre émérite Avatar de jmix90
    Homme Profil pro
    Consultant .Net
    Inscrit en
    Juillet 2007
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 576
    Par défaut
    Citation Envoyé par juliensmarties Voir le message
    Et donc je souhaiterais transformer un ISynchronizeInvoke de Winform en WPF ... (car aparament l'erreur viendrait de là.)

    Je pense que le problème vient du fait que tu dois essayer de mettre à jour un composant de l'interface (UI) depuis un autre Thread. Pour mettre à jour l'UI il faut être sur le Thread de l'UI en utilisant :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    Dispatcher.CurrentDispatcher.Invoke(...)

    Cet article pourra de plus t'aider il me semble... http://shevaspace.blogspot.com/2007/...-wpf-part.html

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 99
    Par défaut
    je n'ai pas la possibilité de sélectionné CurrentDispatcher ...
    le code exemple est utiliser pour un programme winform et moi lorsque je veux accéder à mon interface WPF il me renvois l'erreur ...
    je vous envoie l'erreur plus tard

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 99
    Par défaut
    voici l'erreur :
    The calling thread cannot access this object because a different thread owns it.
    quelqu'un aurais une aide à m'apporter ?

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Salut,

    Citation Envoyé par juliensmarties
    voici l'erreur :
    The calling thread cannot access this object because a different thread owns it.
    jmix90 était sur la bonne piste. Essaies avec ça :

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
          Application app = System.Windows.Application.Current;
          if (app != null)
            app.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Background,
                                       (Action)delegate {
              txt_resume.Text = M.Description;
            });

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 99
    Par défaut
    J'ajoute un grand merci à tous d'avoir répondu si vite à mon pb

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Comment importer ColorDialog (windows.forms) dans WPF en VB.NET ?
    Par Polyvar dans le forum Visual Studio
    Réponses: 7
    Dernier message: 27/04/2014, 19h01
  2. WPF signe la fin des Windows Forms ?
    Par vandamme dans le forum Windows Presentation Foundation
    Réponses: 143
    Dernier message: 28/09/2011, 14h11
  3. Windows Forms ou WPF
    Par wahoo dans le forum C#
    Réponses: 22
    Dernier message: 02/10/2010, 14h50
  4. Convertion application Windows Form en WPF
    Par skunkies dans le forum Windows Forms
    Réponses: 1
    Dernier message: 18/11/2008, 21h57
  5. WPF signe la fin des Windows Forms ?
    Par vandamme dans le forum Framework .NET
    Réponses: 17
    Dernier message: 16/07/2007, 14h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo