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 devant un niveau complet d'un treeview


Sujet :

Windows Presentation Foundation

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 129
    Points : 62
    Points
    62
    Par défaut Image devant un niveau complet d'un treeview
    Bonjour,

    Je ne c'est pas si je passe à coté, mais je cherche un moyen de mettre une image devant les lignes de ma treeview définit par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     <lib:treeView.ItemTemplate>
                      <HierarchicalDataTemplate ItemsSource="{Binding Liste}" >
                       ...
                      </HierarchicalDataTemplate >
     </lib:treeView.ItemTemplate>
    Or pour chaque niveau d'arborescence, j'aimerais mettre une image qui ferais l'ensemble du niveau en question.

    Or je ne trouve pas (ou je passe à côté) de propriété qui serait addapter pour un ensemble de "ItemTemplate" de même niveau.

    Merci d'avance

  2. #2
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut
    Bonjour boubou38...
    Bah pour une meme image dans un niveau N (collection N) qui se repete devant chaque ligne une image en resources (ou un thumbnail) doit etre insere dans le datatemplate du niveau N:
    exemple (collection listcategories et listproduits):
    code .cs des class categorie & produit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Collections.ObjectModel;
     
    namespace WpfTreeViewNode
    {
        public class Produit
        {
            public Produit(string pid,string pn)
            {
                ProdID = pid;
                Name = pn;
            }
            public string ProdID { get; set; }
            public string Name { get; set; }
     
        }
        public class  ListProduits:ObservableCollection<Produit>
        {
        }
        public class Categorie
        {
            public Categorie(string ct)
            {
                Name = ct;
                Produits = new ListProduits(); 
     
            }
            public string Name { get; set; }
            public ListProduits Produits { get; set; }
        }
        public class ListCategories : ObservableCollection<Categorie>
        {
            private Produit pd;
            private Categorie cat;
            public ListCategories()
            {
                for (int i = 1; i < 5; i++)
                {
                    cat= new Categorie("CAT"+(10*i).ToString());
     
                    for (int j = 1; i < 3; i++)
                    {
                        pd = new Produit("prod"+(j).ToString(),"PROD"+(10*j).ToString());
                        cat.Produits.Add(pd);
                    }
                    this.Add(cat);
     
                }
            }
        }
    }
    code xaml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
     <Window x:Class="WpfTreeViewNode.Window1"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:local="clr-namespace:WpfTreeViewNode"
            Title="Window1" Height="300" Width="300">
        <Window.Resources>
            <local:ListCategories x:Key="DataSource"></local:ListCategories>
            <HierarchicalDataTemplate 
                DataType="{x:Type local:Categorie}"
                ItemsSource="{Binding Produits}">
                <StackPanel Orientation="Horizontal">
                    <Image
                        Width="25"
                        Margin="5"
                        Source="Resources/giraffe.jpg">
                    </Image>
                    <TextBlock 
                        Margin="5"
                        Text="{Binding Name}"/>
                </StackPanel>
            </HierarchicalDataTemplate>
            <HierarchicalDataTemplate  
               DataType="{x:Type local:Produit}" >
                <StackPanel Orientation="Horizontal">
                    <Image
                        Width="25"
                        Margin="5"
                        Source="Resources/zebra.jpg">
                    </Image>
                    <TextBlock 
                        Margin="5"
                        Text="{Binding ProdID}"/>
                    <TextBlock 
                        Margin="5"
                        Text="{Binding Name}"/>
                </StackPanel>
            </HierarchicalDataTemplate >
     
        </Window.Resources>
        <StackPanel>
            <TreeView>
                <TreeViewItem 
                    ItemsSource="{Binding 
                    Source={StaticResource DataSource}}" 
                    Header="Categories" 
                    IsExpanded="True"/>
            </TreeView>
        </StackPanel>
    </Window>
    Bien entendu si l'image change à chaque ligne (dans un niveau N) c'est dans les "data" c.à.d qu'il faut ajouter une prop UriImage dans les class Categorie et Produit.........
    bon code..............

Discussions similaires

  1. Map et image signée en niveau de gris
    Par Vincnt14 dans le forum Images
    Réponses: 4
    Dernier message: 22/02/2007, 02h02
  2. placer une petit image devant chaque lien
    Par HwRZxLc4 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 02/06/2006, 17h25
  3. image devant objet
    Par franck.automaticien dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 18/04/2006, 14h40
  4. Afficher une image devant un composant ?
    Par gazier20 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 11/03/2006, 14h45
  5. afficher un image DEVANT un TPanel...
    Par the_magik_mushroom dans le forum Composants VCL
    Réponses: 17
    Dernier message: 07/12/2005, 12h29

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