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 :

Treeview probleme de lenteur


Sujet :

Silverlight

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2006
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2006
    Messages : 389
    Par défaut Treeview probleme de lenteur
    Bonjour,

    J'utilise actuellement un treeview.
    J'ai à peu prêt 4000 treeviewItem à l'intérieur.

    Le problème vient du temps d'affichage du treeview, celui-ci est très long.
    Auriez vous une idée pour augmenter les performances d'affichages ?

    Merci

  2. #2
    Membre chevronné Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Par défaut
    Salut,
    tu as plusieurs pistes, dépendant de ce qu'il y a derrière ton treeview :
    - à essayer en premier, le VirtualizingStackPanel (propriété de dépendance VirtualizingStackPanel.IsVirtualizing à true, voire ItemsPanelTemplate à modifier)
    - peu d'items à chaque niveau, mais très profond (beaucoup de sous-niveaux) : là tu cherches à charger "à la demande" (quand un item est déplié tu charges ses enfants)
    - selon les données qu'il y a derrière : tu essaies de charger les données à la demande, ou tu optimises leur chargement dans les couches métier, ou encore tu les charges dans un thread de travail (attention à synchroniser avec le dispatcher du treeview pour éviter les InvalidOperationException)
    un exemple ici (WPF, à adapter à tes besoins) :
    http://www.codeproject.com/KB/tree/T...gTreeView.aspx

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2006
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2006
    Messages : 389
    Par défaut
    slt

    merci de ta réponse
    Je regarde actuellement pour charger les dossiers enfants quand on selectionne le dossier parent.

    J'ai trouvé ce lien : http://blogs.silverlight.net/blogs/j...wextended.aspx

    Dans le chapitre 3 il parle de créer une classe dépendant de l'objet Treeview.
    Mais je n'arrive pas a le mettre dans mon code XAML, il me dit de quoi il me manque une librairie, bizarre ?

  4. #4
    Membre chevronné Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Par défaut
    Laquelle, de librairie ? Tu as bien ajouté les xmlns comme dans l'exemple de ton lien ("common" pour System.Windows.Controls par ex.) ?

  5. #5
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    Pour info, la virtualisation d'elements hierachisés ne fonctionne pas en silverlight. C'est situation est valable en SL3 et certainement en SL4, hélas.

    http://bea.stollnitz.com/blog/?p=42

  6. #6
    Membre chevronné Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Par défaut
    Citation Envoyé par Samoteph Voir le message
    Pour info, la virtualisation d'elements hierachisés ne fonctionne pas en silverlight. C'est situation est valable en SL3 et certainement en SL4, hélas.

    http://bea.stollnitz.com/blog/?p=42
    Ah OK, autant pour moi. Mais apparemment c'est bon, il semble parti sur le fait de charger les enfants de chaque item à la demande.

  7. #7
    Membre Expert
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Par défaut
    La bonne solution à mon sens

  8. #8
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2006
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2006
    Messages : 389
    Par défaut
    merci pour vos réponses.

    sinon oui je pars sur la solution de charger les enfants à la demande.

    Sur un click sur un dossier parent, je vais allez rechercher les enfants en base de données et les ajouter comme sous dossiers à mon dossier parent.

    Pensez vous que ce soit réalisable ?

    Merci

  9. #9
    Membre chevronné Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Par défaut
    Oui carrément, le top c'est par exemple d'utiliser des ObservableCollection<T> dans ta couche métier, comme ça tu bindes la propriété "Items" des TreeViewItems dessus (avec un HierachicalDataTemplate).

  10. #10
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2006
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2006
    Messages : 389
    Par défaut
    merci beaucoup pour vos réponses

    Et Joyeuses Fêtes !!!

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

Discussions similaires

  1. [RMI]Probleme de lenteur (DNS?)
    Par anthyme dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 11/07/2006, 18h15
  2. [Perf]Probleme de lenteur connexion
    Par mermoz dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 09/11/2005, 17h53
  3. TreeView Probleme
    Par Soulama dans le forum Composants VCL
    Réponses: 2
    Dernier message: 14/07/2005, 11h36
  4. [interbase 6]probleme de lenteur
    Par macadam314 dans le forum InterBase
    Réponses: 2
    Dernier message: 27/06/2005, 09h48
  5. [Sybase]probleme de lenteur
    Par MASSAKA dans le forum Sybase
    Réponses: 3
    Dernier message: 19/03/2003, 22h58

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