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 :

Fenêtre d'attente annimée


Sujet :

Windows Presentation Foundation

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 3
    Par défaut Fenêtre d'attente annimée
    Bonjour,

    Je cherche à afficher un écran d'attente durant une opération qui prend pas mal de temps. L'écran d'attente présente une progressbar à durée indéfinie, histoire de montrer à l'opérateur que l'on s'occupe de lui ;-).
    Il fonctionne très bien indépendamment.

    Le petit problème c'est que mon opération longue a besoin d'accéder à des infos contenues dans une Window du coup je ne peux pas utiliser de BackgroundWorker. J'ai essayé en utilisant les méthodes Dispatcher.BeginInvoke et Dispatcher.Invoke pour traiter mes données d'IHM mais du coup mon écran d'attente reste figée durant mon action.

    J'ai aussi essayer d'utiliser des DispatcherFrame comme ici mais j'ai pas du tout comprendre. Du coup, là je bloque un peu...

    Quelqu'un a déjà rencontré ce problème ?

    Merci.

    EDIT : correction du lien.

  2. #2
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Par défaut
    De quels infos as tu besoin réellement ? Tu ne peux pas faire en sorte d'y avoir accès avant ?

    J'utilise le BackgroundWorker pour une tache longue. Mais utilisant également le pattern MVVM, toutes les informations dont je dispose sont donc dans le ViewModel.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Par défaut
    ajoute et utilise le doevent pour wpf qui se trouve sur mon blog

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 3
    Par défaut
    J'ai corrigé le lien qui renvoyait sur à peu près la même méthode que ton doevents();

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public static void ForceUIToUpdate() {
      DispatcherFrame frame = new DispatcherFrame();
     
      Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Render, new DispatcherOperationCallback(delegate(object parameter) {
        frame.Continue = false;
        return null;
      }), null);
     
      Dispatcher.PushFrame(frame);
    }
    La principale différence vient de la priorité affectée au dispatcher DispatcherPriority.Render pour le lien et DispatcherPriority.Background pour ta méthode. J'avoue ne pas comprendre la subtilité.
    Quelqu'un aurait il la patience de m'expliquer mon erreur ? Merci.


    Avec la priorité DispatcherPriority.Background cela fonctionne, merci !!!

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

Discussions similaires

  1. [C# 2]Affichage d'une fenêtre d'attente
    Par sarapis dans le forum Windows Forms
    Réponses: 6
    Dernier message: 03/06/2006, 00h18
  2. [VB.NET2003] Fenêtre d'attente.
    Par b_lob dans le forum Windows Forms
    Réponses: 1
    Dernier message: 26/05/2006, 10h36
  3. [Tkinter] fenêtre d'attente
    Par Makino dans le forum Tkinter
    Réponses: 2
    Dernier message: 22/03/2006, 14h05
  4. Destruction automatique d'une fenêtre d'attente
    Par Depteam1 dans le forum MFC
    Réponses: 4
    Dernier message: 20/09/2005, 13h40
  5. fenêtre d'attente dans un thread
    Par KRis dans le forum Langage
    Réponses: 3
    Dernier message: 25/08/2005, 10h29

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