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 :

TreeView WPF avec template très lent


Sujet :

Windows Presentation Foundation

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 59
    Points : 101
    Points
    101
    Par défaut TreeView WPF avec template très lent
    Bonjour,

    J'ai une application WPF qui charge un TreeView sur deux niveaux : des catégories et des enfants par catégorie.

    Il y a une catégorie qui contient environ 4000 enfants...

    J'ai défini un DataTemplate avec DataBinding qui permet d'afficher chaque enfant d'une catégorie avec une boule de couleur (couleur de l'enfant) et un libellé (libellé de l'enfant). Ces informations sont récupérées d'une base de données.

    Le problème, c'est que je peux aller boire un café si je veux charger mon arbre car l'application du Template rame à mort. En fait, j'ai l'impression que c'est l'accès perpétuel au Dataset source en appliquant le Template qui fait ralentir le chargement.

    J'utilise un BackgroundWorker pour charger les données et le template de chaque enfant est défini de la sorte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Item.ItemTemplate = FindResource("ChildTreeItem") as DataTemplate;
    Pouvez-vous me donner des pistes pour résoudre ce problème ?

    D'avance merci.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 59
    Points : 101
    Points
    101
    Par défaut
    J'oubliais, voici le template de chaque enfant tel qu'il est défini dans mon fichier ressources :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <!--Template des Items enfants de l'arbre-->
      <DataTemplate x:Key="MaterialTreeItem" DataType="TreeViewItem">
        <WrapPanel>
          <!--<TextBox Text="{Binding Path=QUANTITY}" Margin="5,0,0,5" Width="50" Height="20"/>-->
          <Ellipse Fill="{Binding Path=COLOR}" Height="10" Width="10" StrokeThickness="1" Stroke="{StaticResource ResourceKey=MIMS_BlueDarkColor}"/>
          <TextBlock Text="{Binding Path=LIBELLE}" Margin="5,0,0,0"/>
        </WrapPanel>
      </DataTemplate>
    Encore merci.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 59
    Points : 101
    Points
    101
    Par défaut
    Bonjour,

    Par rapport à ma dernière réponse, la clé du template de l'enfant est bien 'ChildTreeItem' et non 'MaterialTreeItem'.

    Je viens de tomber sur un début de solution.

    En fait, la couleur stockée dans la base de données pour bon nombre d'enregistrements n'est pas valide. (La valeur hexa de la couleur n'est pas valide suite à une importation faussée).

    Du coup, on dirait qu'il n'arrive pas à convertir la couleur correctement au moment de l'application du template, ce qui ralenti considérablement l'affichage des nœuds.

    J'ai remis une couleur valide dans la DB, et du coup c'est beaucoup plus rapide.

Discussions similaires

  1. Requête avec STRAIGHT_JOIN Trés lente
    Par ahmed. dans le forum Requêtes
    Réponses: 4
    Dernier message: 06/06/2012, 15h54
  2. Réponses: 22
    Dernier message: 28/11/2010, 12h25
  3. Requête avec blob très lente.
    Par Alphonse87 dans le forum Hibernate
    Réponses: 2
    Dernier message: 14/08/2008, 11h32
  4. boot avec DD TRÈS lent
    Par troumad dans le forum Composants
    Réponses: 40
    Dernier message: 30/01/2007, 17h11
  5. Réponses: 1
    Dernier message: 24/10/2006, 12h10

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