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 :

Image, utiliser une image en libérant la ressource


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 537
    Par défaut Image, utiliser une image en libérant la ressource
    Bonjour,

    J'ai un objet Album qui contient un champs Couverture de type BitmapImage.
    J'ai une collection ListAlbums.

    J'affiche donc dans une liste les albums avec en visuel les couvertures.
    Je voudrais pouvoir supprimer un album.
    Mais j'ai un problème.
    J'ai beau supprimer les UCAlbums de mon scrollviewer.
    Et faire un Clear de ma collection ListAlbums je ne peux supprimer l'image de la couverture.

    Le BitmapImage est créé comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    _Couverture = new BitmapImage(new Uri(_CouvertureStringUri));
    Puis je l'affiche dans mon UCAlbum comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Img.Source = _HisCatalog.Couverture;
    Et comme dit plus haut j'ai beau détruire faire un Clear sur la collection d'UIElements contenant mes UCAlbum et beau en faire un aussi sur ma collection ListAlbums je ne peux supprimer l'image utilisé pour la couverture.

    Auriez-vous une piste?

    Merci.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 537
    Par défaut
    Je continu de chercher et je met à jour mes recherche au cas où cela inspire quelqu'un.

    Donc voilà j'ai voulu utilisé un procéder qui fonctionne sous WindowsForm à savoir passer par la classe FileStream de cette manière:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    FileStream streamForBitmap = new FileStream(_CouvertureStringUri, FileMode.Open);
                _Couverture = new BitmapImage();
                _Couverture.StreamSource = streamForBitmap;
                streamForBitmap.Close();
    Mais j'ai la même erreur et en plus l'image ne s'affiche pas.

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Salut,

    c'est quoi l'erreur exacte ?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 537
    Par défaut
    Le processus ne peut pas accéder au fichier 'couverture.jpg', car il est en cours d'utilisation par un autre processus.

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    J'essaie de comprendre un peu plus ce que tu fais

    Tu as un exécutable où tu affiches ton image (dans une liste). D'autres exécutable ouvre cette même image ?

    Tu essaies de supprimer l'image de l'interface (de ta liste) et du disque aussi ?

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 537
    Par défaut
    Non je n'ai qu'un seul exécutable.
    Le code avec le champs _Couverture vient d'une dll qui regroupe un ensemble d'objets.

    Dans cette dll il y a la classe Album.
    J'utilise cette classe dans mon exécutable et je créé une collection d'album appelée ListAlbums.


    Dans mon exécutable j'ai aussi un scrollviewer où je place des UCAlbum correspondant à ma collection d'Album.
    Dans ces UC j'affiche la couverture.

    J'ai besoin de supprimer un album aussi bien dans l'appli que sur le disque, et donc sa couverture sur le disque.
    Le problème vient du fait que cela m'est refusé à partir du moment où _Couverture est implémentée, même si je fais un Clear sur ma scrollviewer(je supprime donc les UC où sont affichés les couvertures) et si en plus je fais un Clear sur ma ListAlbums.

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

Discussions similaires

  1. [Débutant] Manipulation d'images : intégrer une image dans une image
    Par noscollections dans le forum VB.NET
    Réponses: 2
    Dernier message: 17/10/2014, 11h51
  2. Utiliser une image pour une Propriété
    Par jjcasalo dans le forum VB.NET
    Réponses: 2
    Dernier message: 09/03/2010, 16h27
  3. Mettre une Image dans une Image
    Par shadowhocine dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 19/12/2006, 18h40
  4. Réponses: 3
    Dernier message: 30/10/2006, 11h21
  5. [Image]charger une image sur une page HTML
    Par Malo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/07/2006, 18h33

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