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 :

Inserer une image sur une seule ligne d'un ListView


Sujet :

Windows Presentation Foundation

  1. #1
    Membre du Club Avatar de Takumi
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 163
    Points : 62
    Points
    62
    Par défaut Inserer une image sur une seule ligne d'un ListView
    Bonjour,

    J'ai dans mon application une listview contenant une liste de chanson. Elle est composé de 6 colonnes dont 5 prennes leurs source d'un ObservableCollection.

    Je voudrais que la colonne qui ne prend rien dans la collection puisse contenir une image. Cette image me sert à indiquer la chanson qui es en cours d'écoute, j'ai cherché pour trouver comment mettre une image dans une case d'un ListViewItem mais cela le fait pour chaque ligne, et ce n'est pas ce que je cherche. On ne peut ecouter qu'une chanson qu'à la fois donc une seule ligne à la fois doit avoir cette image.

    Je pense que cela doit être fait au niveau du C# car c'est dedans que les chansons se changent et donc seul le code c'est laquelle est en cours de lecture. Mais je ne vois pas du tout comment faire pour insérer l'image dans la bonne colonne. Petite précision je connais le numéro de la ligne, c'est mon point de départ pour résoudre le problème.

    Voici un extrait de mon code XAML où je déclare mes entêtes de colonnes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <ListView.View>
                    <GridView ColumnHeaderContainerStyle="{DynamicResource CustomHeaderStyle}">
                        <GridViewColumn DisplayMemberBinding="{Binding null}" Header="" Width="Auto" /><!--Colonne qui doit recevoir l'image-->
                        <GridViewColumn DisplayMemberBinding="{Binding SongName}"  Header="Titre" Width="Auto" />
                        <GridViewColumn DisplayMemberBinding="{Binding SongArtist}" Header="Artiste" Width="Auto" />
                        <GridViewColumn DisplayMemberBinding="{Binding SongDuration}" Header="Durée" Width="Auto" />
                        <GridViewColumn DisplayMemberBinding="{Binding SongAlbum}" Header="Album" Width="Auto" />
                        <GridViewColumn DisplayMemberBinding="{Binding SongPath}" Header="Chemin" Width="Auto" />
                    </GridView>
                </ListView.View>
    Je vous remercie d'avance pour votre aide.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Points : 1 313
    Points
    1 313
    Par défaut
    tu bind l'image normalement
    mais tu coll un converter qui ne l'affiche seulement si le morceau est en play

  3. #3
    Membre du Club Avatar de Takumi
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 163
    Points : 62
    Points
    62
    Par défaut
    Bonsoir,

    Merci pour ta réponse mais je n'ai pas tous saisi

    Si je comprends bien je met l'image de manière générale, donc sur toute les lignes mais après je ne l'affiche que si la ligne est en cours de lecture.

    Qu'est ce qu'un converter? Pourrais tu m'apporter plus de précision?

    Merci d'avance

  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 : 42
    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
    Points : 39 753
    Points
    39 753
    Par défaut
    Petite précision je connais le numéro de la ligne, c'est mon point de départ pour résoudre le problème.
    A mon avis ce n'est pas le bon point de départ...

    Il faudrait une propriété dans ta classe chanson pour indiquer si elle est en cours de lecture, et tu bindes la visibilité de l'image sur cette propriété.

    Si tu ne veux pas modifier la classe chanson pour un problème purement lié à l'interface graphique, je te conseille de regarder du côté du pattern MVVM, qui permet de créer un "adapteur" entre le modèle et la vue.

  5. #5
    Membre du Club Avatar de Takumi
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 163
    Points : 62
    Points
    62
    Par défaut
    J'utilise WMPLib pour lire mes chansons. Ensuite la source de données du ListView provient d'une collection qui n'a pas de lien avec la lecture de chanson.

    En faite je ne vois pas du tout comment faire Je suis désolé.

  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 : 42
    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
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par Takumi Voir le message
    En faite je ne vois pas du tout comment faire Je suis désolé.
    Comment faire quoi ? ce que je t'ai suggéré ? tu pourrais commencer par lire le tuto que je t'ai indiqué...

  7. #7
    Membre du Club Avatar de Takumi
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 163
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Comment faire quoi ? ce que je t'ai suggéré ? tu pourrais commencer par lire le tuto que je t'ai indiqué...
    Je suis sincérement désolé je n'avais pas vu le lien. Je vais lire ça de suite.

    J'avais déjà utilisé l'architecture MVC mais pour des applications web mais jamais pour applications logiciels. Je crois que ça va être l'occasion pour moi d'en apprendre une et au passage permettre à mon application d'avoir une structure plus solide.

    Merci

  8. #8
    Membre du Club Avatar de Takumi
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 163
    Points : 62
    Points
    62
    Par défaut
    Bonjour,

    Bon j'ai lu l'article une fois en entier puis relus quelques fois certains passages. Je pense avoir saisi le principe de cette architecture mais beaucoup de choses ne sont pas toujours clair, déjà pour des raisons de manques de connaissances. Il y a des choses que je n'ai jamais utilisés comme le databinding ou les commands. Et l'article n'est pas très long mais ne le trouve pas très pratique pour débuter, du moins parce que j'ai du mal à comprendre.

    Aurais-tu des articles sur ce sujet intéressant pour un débutant avec cette architecture? J'en ai trouvé quelques un, j'ai pas encore eu le temps de tous les lire mais semble aussi attendre un minimum de connaissance. Ce qui est normal, mais je n'en ai pas trouvé qui à la fois explique l'architecture et en même temps les outils utilisés.

    Je te remercie d'avance.

  9. #9
    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 : 42
    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
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par Takumi Voir le message
    Il y a des choses que je n'ai jamais utilisés comme le databinding ou les commands.
    Ben le binding tu l'utilises dans le code que tu as posté pourtant... Les commandes c'est assez simple en fait, c'est juste un objet qui implémente une interface. En général on utilise une implémentation générique qui prend un delegate en paramètre, pour ne pas avoir à créer une nouvelle classe à chaque fois (RelayCommand, DelegateCommand...)

    Citation Envoyé par Takumi Voir le message
    Aurais-tu des articles sur ce sujet intéressant pour un débutant avec cette architecture? J'en ai trouvé quelques un, j'ai pas encore eu le temps de tous les lire mais semble aussi attendre un minimum de connaissance. Ce qui est normal, mais je n'en ai pas trouvé qui à la fois explique l'architecture et en même temps les outils utilisés.
    Pour moi l'article de référence sur MVVM est celui de Josh Smith, mais c'est en anglais...
    http://msdn.microsoft.com/en-us/magazine/dd419663.aspx

  10. #10
    Membre du Club Avatar de Takumi
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2009
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2009
    Messages : 163
    Points : 62
    Points
    62
    Par défaut
    Bonjour,

    Merci pour ton lien, l'anglais n'est pas un problème. J'ai commencé la lecture mais au fil de mon avancement je tombe sur d'autre lien et ainsi de suite donc je sent que je suis partis pour des heures de lecture .

    Merci

  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 : 42
    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
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par Takumi Voir le message
    je sent que je suis partis pour des heures de lecture .
    Oui, il y a pas mal de matière sur le sujet
    A mon avis ça vaut vraiment la peine d'apprendre à utiliser le pattern, même si ça semble un peu laborieux au début. Ca permet de construire des applications bien structurées, en séparant bien le code et la présentation

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. Recuperer une valeur dans une grille sur une image
    Par gwal21 dans le forum Images
    Réponses: 3
    Dernier message: 26/02/2011, 23h41
  3. afficher une image sur une image de fond
    Par vega95 dans le forum wxPython
    Réponses: 2
    Dernier message: 26/11/2008, 18h41
  4. [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
  5. [Image]insérer un copyright sur une image
    Par ehmppowa dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 30/04/2006, 15h32

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