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 :

Modifier le style d'un treeviewItem en Wpf [Débutant]


Sujet :

Windows Presentation Foundation

  1. #1
    Membre expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Points : 3 304
    Points
    3 304
    Par défaut Modifier le style d'un treeviewItem en Wpf
    J'ai une classe :

    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
     
    public class cItem
        {
            public string Name { get; set; }
            public string FullPath { get; set; }
     
            public bool System { get; set; }
        }
     
    public class cDirectoryItem : cItem
        {
            public List<cItem> Items { get; set; }
     
            public cDirectoryItem()
            {
                Items = new List<cItem>();
            }
     
            public cDirectoryItem(string pName,string pFullName,List<cItem> pItems)
            {
                Items = new List<cItem>();
     
                Name = pName;
                FullPath = pFullName;
                Items = pItems;
            }
        }
    Que j'utilise en binding pour mon treeview, jusque là tout va très bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ... 
      <Window.Resources>
            <HierarchicalDataTemplate DataType="{x:Type Model:cDirectoryItem}" 
                ItemsSource="{Binding Items}">
                <TextBlock Text="{Binding Path=Name}" ToolTip="{Binding Path=Path}" />
            </HierarchicalDataTemplate>
        </Window.Resources>
    ...
     
        <TreeView Grid.Column="0" Name="trvDir"  VerticalAlignment="Stretch" HorizontalAlignment="Stretch"  ItemsSource="{Binding}"/>
    Par contre quand ma propriété "System" est à true, je voudrais changer la couleur du texte pour l'item voulu, donc j'ai essayé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     <TreeView Grid.Column="0" Name="trvDir"  VerticalAlignment="Stretch" HorizontalAlignment="Stretch"  ItemsSource="{Binding}">
            <Style TargetType="TreeViewItem">
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding ElementName=cDirectoryItem, Path=System}" Value="True">
                            <Setter Property="Foreground" Value="Green" />
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </TreeView>
    Ce qui me donne ceci :

    Nom : Capture.JPG
Affichages : 227
Taille : 13,3 Ko

    Une idée ?
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  2. #2
    Membre expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Points : 3 304
    Points
    3 304
    Par défaut
    J'ai trouvé, je place le code ici au cas ou :

    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
     
    <TreeView Grid.Column="0" Name="trvDir"  VerticalAlignment="Stretch" HorizontalAlignment="Stretch"  ItemsSource="{Binding}">
                <TreeView.Resources>
                    <HierarchicalDataTemplate DataType="{x:Type Model:cDirectoryItem}" ItemsSource="{Binding Items}">
                        <HierarchicalDataTemplate.Resources>
                            <Style TargetType="{x:Type TextBlock}">
                                <Style.Triggers>
                                    <DataTrigger Binding="{Binding IsSystem}" Value="True">
                                        <Setter Property="TextBlock.Foreground" Value="Blue" />
                                    </DataTrigger>
                                    <DataTrigger Binding="{Binding IsHidden}" Value="True">
                                        <Setter Property="TextBlock.Foreground" Value="Red" />
                                    </DataTrigger>
                                </Style.Triggers>
                            </Style>
                        </HierarchicalDataTemplate.Resources>
                        <TextBlock Text="{Binding Path=Name}" ToolTip="{Binding Path=Path}" />
                    </HierarchicalDataTemplate>
                </TreeView.Resources>
    </TreeView>
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

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

Discussions similaires

  1. Modifier des styles en javascript
    Par vraipolite dans le forum Général JavaScript
    Réponses: 19
    Dernier message: 02/04/2006, 17h20
  2. Modifier le style d'une div
    Par pilz dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 31/03/2006, 15h36
  3. Modifier le style d'un display en javascript
    Par Benjiijneb dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 06/02/2006, 10h24
  4. [TRichEdit] Comment modifier le style d'une sélection ?
    Par PpPool dans le forum Composants VCL
    Réponses: 2
    Dernier message: 15/11/2005, 10h16
  5. [VB.NET] Comment envoyer un texte modifié(couleurs,style...)
    Par fdiedler dans le forum Windows Forms
    Réponses: 8
    Dernier message: 14/03/2005, 18h11

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