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 :

Problème remplissage hauteur avec une ListView et style des cellules


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 Problème remplissage hauteur avec une ListView et style des cellules
    Bonjour,

    J'ai quelques problèmes de design avec une ListView, et les cellules qu'elle contient. Je vous expose mes deux problèmes:

    1. Je dispose dans mon application d'un UserControl divisé en deux parties par un Grid. J'ai d'abord une première ligne qui contient plusieurs textblock, bouton,.... tout cela de taille fixe. Ensuite j'ai une deuxième ligne avec à l'intérieur un ListView. Et c'est cette ListView qui me pose problème. Dans mon application, dans ma Window, cet UserControl décrit plus haut est contenu lui même dans un Grid. Le problème est que ma ListView si elle n'est pas remplis, elle n'occupe pas tout l'espace libre qu'elle était censé recouvrir même étant vide. De plus je ne peux pas spécifier une hauteur car cette espace est variable selon la taille de la fenêtre. Je pensais que la ListView prendrait automatiquement tous l'espace libre. Mais je n'ai pas trouvé de moyen de le faire.


    1. J'ai un autre problème cette fois avec les cellules de ma ListView. Mon application est un lecteur audio, ma ListView contient la liste des chansons. Je voudrais donc pouvoir afficher un design différent sur la ligne dont la chanson est en cours de lecture par exemple, ou encore pour indiquer que le fichier musical de la chanson à la ligne x et y est introuvable ou bien simplement parce que la ligne à la propriété IsSelected à True. Quoi qu'il en soit les changements sont affectés à la fois par les différentes propriétés du control mais aussi par celles de l'Item que le control contient.
      Ces changements se caractérise surtout par un changement de couleur de la police. J'ai réussi à faire ce que je voulais en créant un style puis à l'affecter à la propriété ItemContainerStyle de la ListView. Par exemple j'ai indiqué que la couleur de la police est grise clair. Mon problème est que maintenant je voudrais par exemple que la première colonne ai elle plutôt cette police en blanc. Ne sachant pas comment faire, je me suis dit que je vais redefinir le CellTemplate juste pour la première colonne. Alors j'ai créer un DataTemplate avec à l'intérieur un simple TextBlock pour afficher le contenu, et ce TextBlock à la propriété Foreground à White. Le problème est que maintenant quoi qu'il advienne la police reste blanc, et ne change plus quel que soit les changements indiqué par le style contenu dans ItemContainerStyle. Je me dit donc que je me suis peut être très mal pris pour arriver à mes fins. Donc comment pourrais-je faire pour arriver à un résultat qui soit celui que j'attend ou du moins qui s'en rapproche très près?


    J'ai mis en pièce jointe mon projet si cela peut vous aider à m'aider. Le fichier contenant le UserControl se trouve dans le dossier views/PlaylistDetailView.xaml.

    Je vous remercie d'avance pour votre aide.

    PS: Ceux qui éventuellement tenterons de tester le projet pour m'aider, reconnaitrons peut être l'interface d'une application déjà existante.... Je suis désolé pour ce honteux plagiat, mais j'ai à dire pour ma défense que je suis un très mauvais designer toujours en manque d'idée dans ce domaine. Et cela me fait un bonne exercice à essayer de recréer une interface compliquée.
    Fichiers attachés Fichiers attachés

  2. #2
    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,

    J'ai un peu avancé sur mon application et voudrais maintenant revenir sur ce problème. J'ai tenté quelque petites choses mais sans que cela ne change rien. Est-ce que personne n'a une "solution"? Ou même une petite piste que je pourrais creuser?

    Je vous remercie d'avance.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    177
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 177
    Points : 130
    Points
    130
    Par défaut
    Pour que ça prenne toute la hauteur tu peux utiliser l'attribut
    VerticalAlignment="Stretch"

  4. #4
    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
    Points : 3 015
    Points
    3 015
    Par défaut
    Pour le premier point, c'est le HeaderedContentControl qui provoque cet effet. Pourquoi un HeaderedContentControl dans ton cas ? Un ContentControl ou le userControl concerné devrait corriger ton problème.

    Pour le second point, le DataGrid est peut-être plus simple à configurer que la ListView dans ce genre de configuration (gestion de colonnes) :
    http://blogs.msdn.com/b/jaimer/archi...-datagrid.aspx

  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
    Bonjour,

    J'ai remplacé le HeaderedContentControl par un ContentControl et là ça marche nickel.

    Maintenant je vais regarder le lien que tu as mis concernant le DataGrid.

Discussions similaires

  1. Problème de hauteur d'une div avec background
    Par Yoteco dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 29/01/2007, 15h17
  2. Problèmes avec une Listview
    Par janego dans le forum C++Builder
    Réponses: 1
    Dernier message: 10/07/2006, 19h27
  3. Problème de requête avec une condition IN
    Par sorcer1 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 20/10/2005, 11h56
  4. problème de connexion avec une base firebird
    Par vbcasimir dans le forum Bases de données
    Réponses: 1
    Dernier message: 30/05/2005, 11h40
  5. Problèmes d'accent avec une connexion ODBC et ADO
    Par michael.jacques dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/03/2005, 15h36

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