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 :

Changer le style d'un listBoxItem selectionné


Sujet :

Windows Presentation Foundation

  1. #1
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 63
    Points : 49
    Points
    49
    Par défaut Changer le style d'un listBoxItem selectionné
    Bonjour,

    Je possede une listBox contenant une série de listBoxItem.

    Chaque listBoxItem "possede une couleur" exprimé par un Background ou le début du champ est noir et la fin est de la couleur choisi.

    Mais lorsqu'un des Items est sélectionné, toutes la listBoxItem devient Bleu alors que je souhaiterai que sa couleur qui prennait seulement la fin du champ prennent tout le champ.

    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
     
            private void AddClass()
            {
                // Création de la classe dans un élément de la liste
                Class c = new Class("UnamedClass" + listViewItem.Items.Count);
                ListBoxItem lbi = new ListBoxItem();
                lbi.ContextMenu = ContextMenu_Class(lbi);
                TextBox txtBx = new TextBox ();
                txtBx.Text = c.Nom;
                txtBx.Foreground = Brushes.White;
                txtBx.Background = Brushes.Transparent;
                txtBx.BorderThickness = new Thickness(0);
                txtBx.TextChanged += new TextChangedEventHandler(txtBx_TextChanged);
                txtBx.GotFocus += new RoutedEventHandler(txtBx_GotFocus);
                lbi.Content = txtBx;
                lbi.Tag = c;
     
                // Coloration
                Color color = _colors[listViewItem.Items.Count % _colors.Count];
                GradientStopCollection collection = new GradientStopCollection();
                collection.Add(new GradientStop(Color.FromScRgb(0, 0, 0, 0), 0.5));
                collection.Add(new GradientStop(color, 1));
                System.Windows.Media.Brush br = new System.Windows.Media.LinearGradientBrush(collection);
                lbi.Selected += new RoutedEventHandler(lbi_Selected);
                lbi.Background = br;
     
                // Ajout à la liste
                listViewItem.Items.Add(lbi);
            }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
            void lbi_Selected(object sender, RoutedEventArgs e)
            {
                ListBoxItem lbi = (ListBoxItem)sender;
                Color color = _colors[listViewItem.Items.IndexOf(lbi) % _colors.Count];
                GradientStopCollection collection = new GradientStopCollection();
                collection.Add(new GradientStop(Color.FromScRgb(0, 0, 0, 0), 0.5));
                collection.Add(new GradientStop(color, 1));
                System.Windows.Media.Brush br = new System.Windows.Media.LinearGradientBrush(collection);
                lbi.Background = br;
            }
    Voila ce code la ne change bizarrement rien à l'apparence lors de la selection.

    Si quelqu'un possède une réponse merci d'avance.

  2. #2
    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
    Créé toi ton propre ListBoxItem et surcharges quelques méthodes

  3. #3
    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
    IKEAS : Finalement je crois que c'est dans ses faiblesses que l'on y trouve a la fois de la force et a la fois de la richesse...
    ----------------------------------------------------
    Si vous avez du taf en wpf & design d'application sympa, contactez moi !!!!
    http://ultimatecorp.eu/wpf/

  4. #4
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 63
    Points : 49
    Points
    49
    Par défaut
    Ok je teste tout ça merci

Discussions similaires

  1. Réponses: 8
    Dernier message: 16/11/2005, 14h05
  2. [JTable] Changer le style de certaines cellulles
    Par bourinator dans le forum Composants
    Réponses: 4
    Dernier message: 08/10/2005, 14h40
  3. Changer le style en JavaScript [besoin d'aide]
    Par maximenet dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 13/09/2005, 17h21
  4. Changer plusieur style avec des IDs différents?
    Par YanK dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/07/2005, 14h33
  5. Changer le style d'une cellule
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2005, 16h18

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