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 la couleur de selection d'un listviewitem


Sujet :

Windows Presentation Foundation

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

    Informations forums :
    Inscription : Janvier 2008
    Messages : 537
    Points : 369
    Points
    369
    Par défaut Modifier la couleur de selection d'un listviewitem
    Bonjour.

    J'ai besoin de redéfinir la couleur de sélection dans un listview.
    Code XML : 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
     
    <ListView.ItemTemplate>
                <DataTemplate>
                    <DataTemplate.Resources>
                        <Storyboard x:Key="WaitingTimeline" Timeline.DesiredFrameRate="10"/>
                    </DataTemplate.Resources>
                	<StackPanel x:Name="theStack" Orientation="Vertical" HorizontalAlignment="Stretch" Height="{Binding Height, ElementName=grid}" VerticalAlignment="Stretch" Width="{Binding Width, ElementName=grid}" Margin="5,5,5,5" PreviewKeyDown="StackPanel_PreviewKeyDown">
                        <Image x:Name="ThumbnailImage" Visibility="Collapsed" Height="{Binding ImageSize}" Width="{Binding ImageSize}" Margin="0" Source="{Binding Thumbnail}" VerticalAlignment="Center" HorizontalAlignment="Center" PreviewMouseRightButtonDown="WaitingImage_PreviewMouseRightButtonDown">
                			<Image.Effect>
                				<DropShadowEffect ShadowDepth="2" />
                			</Image.Effect>
                        </Image>
                        <Image x:Name="WaitingImage" Visibility="Visible" Height="{Binding ImageSize}" Width="{Binding ImageSize}" Margin="0"  VerticalAlignment="Center" HorizontalAlignment="Center" PreviewMouseRightButtonDown="WaitingImage_PreviewMouseRightButtonDown"/>
                        <TextBox x:Name="NameImage" Text="{Binding ShortName, Mode=TwoWay}" Width="{Binding ImageSize}" TextAlignment="Center" TextWrapping="WrapWithOverflow"  HorizontalAlignment="Center" Margin="3" VerticalAlignment="Stretch" IsReadOnly="False" Background="Transparent" BorderBrush="Transparent" LostFocus="NameImage_LostFocus" AcceptsReturn="True"/>
                    </StackPanel>
                    <DataTemplate.Triggers>
                        <DataTrigger Binding="{Binding Path=IsLoaded}" Value="True">
                            <Setter Property="Visibility" TargetName="ThumbnailImage" Value="Visible"/>
                            <Setter Property="Visibility" TargetName="WaitingImage" Value="Collapsed"/>
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Path=IsLoaded}" Value="False">
                            <Setter Property="Visibility" TargetName="WaitingImage" Value="Visible"/>
                            <Setter Property="Visibility" TargetName="ThumbnailImage" Value="Collapsed"/>
                        </DataTrigger>
                    </DataTemplate.Triggers>
                </DataTemplate>
            </ListView.ItemTemplate>

    J'aurais bien placé un truc du genre :
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <DataTrigger Binding="{Binding Path=IsSelected}" Value="True">
       <Setter Property="Background" TargetName="?????" Value=""LIghtGreen"/>
    </DataTrigger>

    Mais je ne sais pas comment atteindre le background via le targetname.

    Quelqu'un a une idée?

    merci.

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

    Tu peux le faire ainsi :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <ListView ...>
      <ListView.Resources>
        <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Red" />
      </ListView.Resources>
    </ListView>


    Sinon ton idée peut fonctionner en intégrant ton code dans le style du ListViewItem (encore faut-il avoir redéfini ce style).

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

    Informations forums :
    Inscription : Janvier 2008
    Messages : 537
    Points : 369
    Points
    369
    Par défaut
    Merci binoo.

    Je vais garder ton fonctionnement bien plus simple.

    Sinon quelqu'un serait où l'on peut trouver un document (site, livre etc...), qui liste les façons de customiser les contrôles et qui contient les données comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SystemColors.HighlightBrushKey
    Parce que parcourir le web à chaque fois, est un peu laborieux.

    Merci.

  4. #4
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Regarde cette page: http://msdn.microsoft.com/en-us/library/ms603164.aspx

    Tu as la liste de toutes les propriétés (avec leur définition)

  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
    Points : 3 015
    Points
    3 015
    Par défaut
    Pour ce qui concerne les couleurs, juste un petit lien les listant :
    http://msdn.microsoft.com/en-us/library/ms603164.aspx

    Sinon, j'ai pas vraiment de lien qui me viennent à l'esprit, si ce n'est les liens msdn :


    Voilà pour ma contribution

    [Edit] synchro !

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

    Informations forums :
    Inscription : Janvier 2008
    Messages : 537
    Points : 369
    Points
    369
    Par défaut
    Merci les gars.

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

Discussions similaires

  1. [TreeViewer] Modifier la couleur de la selection
    Par Mucho dans le forum SWT/JFace
    Réponses: 1
    Dernier message: 21/08/2007, 11h19
  2. [BP]Borland Pascal : modifier les couleurs par défaut.
    Par Pipoland dans le forum Turbo Pascal
    Réponses: 13
    Dernier message: 12/10/2004, 22h32
  3. [JTabbedPane] Modifier la couleur de l'onglet
    Par Pill_S dans le forum Composants
    Réponses: 6
    Dernier message: 17/09/2004, 13h44
  4. [C#] [DataGrid] Modifier la couleur d'une ligne
    Par nalaya dans le forum Windows Forms
    Réponses: 4
    Dernier message: 27/08/2004, 13h11
  5. Modifier la couleur de fond d'un popupmenu
    Par lil_jam63 dans le forum Composants VCL
    Réponses: 6
    Dernier message: 05/08/2004, 21h23

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