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

Silverlight Discussion :

OnPreRender Controle en Silverlight


Sujet :

Silverlight

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 13
    Par défaut OnPreRender Controle en Silverlight
    Bonjour,

    Je suis actuellement confronté à un problème d'initialisation de controle ( Treeview)
    Ma treeview est "peuplée" via le code behind en utilisant un service WCF.

    Le problème c'est que durant l'affichage de mon application silverlight, cela prend 2 à 3 secondes avant d'afficher la treeview ( le temps de recevoir les informations via le web service).

    Je voudrai que quand mon application s'affiche, la treeview soit déja initialisé avec toute l'arborescence.

    Merci d'avance de vos réponses.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    charge les données dans le constructeur... rien ne sera affiché avant

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 13
    Par défaut
    C'est ce que j'ai fais. Je charge les informations dans le constructeur mais cela peuple ma treeview apres l'affichage de l'application.

    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
     
    public Page()
            {
                InitializeComponent();
     
                RefreshFolders();
            }
     
     
    private void RefreshFolders()
            {
                client.GetRootFolderAsync(userName);
                client.GetRootFolderCompleted += new EventHandler<GetRootFolderCompletedEventArgs>(client_GetRootFolderCompleted);
     
            }
     
    private void client_GetRootFolderCompleted (object sender, GetRootFolderCompleted EventArgs e)
            {
                _folder = e.Result;
                List<NodeFolder> folders = new List<NodeFolder>();
                folders.Add(_folder);
                TreeView_Folders.ItemsSource = folders;
            }
    Devrai-je mettre un system de "Lock"? oubien ya une astuce en silverlight

    Merci quand même de vos réponse

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Oui mais tu le fais de façon asynchrone, donc ça empêche pas l'application de se charger, et quand l'opération asynchrone se termine, ça affiche le résultat.

    Si tu préfères "bloquer" l'application tant que les données ne sont pas chargées, récupère les données de façon synchrone

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 13
    Par défaut
    Exact mais je n'arrive pas à faire appel à mon service en mode synchrone. Est-ce parceque je fais du silverlight ?

    ps: La case me permettant de le mettre en mode synchrone est grisée. :s

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Ben t'as pas une méthode client.GetRootFolder (sans le Async) ?
    Je connais pas très bien Silverlight, mais je ne pense pas que ça change quoi que ce soit...

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 13
    Par défaut
    Apres quelque recherche sur le forum, Silverlight ne fonctionne qu'en mode Async.

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    sinon tu peux toujours masquer ton contrôle et l'afficher dans client_GetRootFolderCompleted

  9. #9
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Ben t'as pas une méthode client.GetRootFolder (sans le Async) ?
    Je connais pas très bien Silverlight, mais je ne pense pas que ça change quoi que ce soit...
    Si ça change. Les appel synchrone sont interdit par la plateforme. Que de l'asynchrone.

    Sinon, effectivement, tu n'as qu'à le cacher et l'afficher une fois les données chargées.
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  10. #10
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Tu peux aussi faire un truc joli, avec une barre de chargement pour montrer à l'utilisateur que quelque chose est en train de charger.

  11. #11
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par ShareDev Voir le message
    Apres quelque recherche sur le forum, Silverlight ne fonctionne qu'en mode Async.
    Citation Envoyé par The_badger_man Voir le message
    Si ça change. Les appel synchrone sont interdit par la plateforme. Que de l'asynchrone.
    Eh ben j'aurais au moins appris quelque chose

    Sinon je suis d'accord avec Skyounet, ce serait encore mieux de mettre une petite animation pendant le chargement...

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 13
    Par défaut
    merci de vos réponse
    Je pensais à la solution de la progressBar, mais c'est dommage.

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

Discussions similaires

  1. tab control + DispatcherTimer + silverlight 3
    Par rimenis dans le forum Silverlight
    Réponses: 0
    Dernier message: 02/06/2011, 02h41
  2. wizard control pour Silverlight
    Par johnaliashead dans le forum Silverlight
    Réponses: 5
    Dernier message: 28/06/2010, 16h33
  3. Afficher de l'HTML dans un control Silverlight
    Par LefortLudovic dans le forum Silverlight
    Réponses: 13
    Dernier message: 24/03/2010, 12h25
  4. Réponses: 3
    Dernier message: 13/07/2008, 14h16
  5. Controle Silverlight en plein ecran
    Par GoN49 dans le forum Silverlight
    Réponses: 2
    Dernier message: 17/11/2007, 10h45

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