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 :

TabControl "détruit" le contenu des TabItems non sélectionnés


Sujet :

Windows Presentation Foundation

  1. #1
    Membre chevronné

    Homme Profil pro
    Appui fonctionnel senior
    Inscrit en
    Juin 2007
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Appui fonctionnel senior
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 461
    Points : 2 211
    Points
    2 211
    Par défaut TabControl "détruit" le contenu des TabItems non sélectionnés
    Bonjour,

    Pour le projet que je développe actuellement, j'ai du concevoir un contrôle personnalisé pour la visualisation de nos documents. Tout fonctionne très bien à ce niveau-là.
    Cependant, pour avoir une interface plus pratique, je m'appuie sur AvalonDock. En debug, j'ai remarqué une fuite mémoire importante : en effet, à chaque fois que l'utilisateur change de document (via des TabItem), les UserControl sont intégralement recréés.

    Y a-t-il une raison pour qu'un composant personnalisé soit détruit lorsqu'il perd le focus (ou quand son parent le perd), puis recréer lorsqu'il le reprends ? Cela me semble tordu, et très honnêtement, je pense que le problème vient d'AvalonDock, mais je préfère en être sûr avant de rapporter un éventuel bug.

    EDIT Après quelques recherches, je commence à comprendre un peu plus le problème, qui est propre à WPF. Le soucis vient du fait que le TabControl semble détruire le Visual Tree des TabItems n'étant pas sélectionnés. Je cherche donc maintenant comment forcer le TabControl à ne pas toucher au contenu des TabItems non sélectionnés.

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 025
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 025
    Points : 5 462
    Points
    5 462
    Par défaut
    Ce n'est pas parce que le contenu est recréé qu'il y a forcement une fuite mémoire!
    S'il y a fuite c'est que le garbage collector ne passe pas sur l'ancienne instance du contenu, et là il faut voir pourquoi.
    Le cas le plus classique vient de l'utilisation des abonnements évents (piste : weak event ).
    Bonne chance !

Discussions similaires

  1. Script shell : afficher le contenu des variables entre simple quote
    Par mualki dans le forum Shell et commandes GNU
    Réponses: 10
    Dernier message: 23/01/2010, 00h14
  2. [VE] Contenu des fenêtres non visible jusqu'à agrandissement
    Par LinuxUser dans le forum Eclipse Java
    Réponses: 0
    Dernier message: 08/05/2009, 02h39

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