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 :

TabHeader personnalisé en sélection


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de koyot3
    Inscrit en
    Avril 2007
    Messages
    693
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 693
    Par défaut TabHeader personnalisé en sélection
    Bonjour à tous,

    Chacun de mes tabitem possède un header de la sorte

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <TabItem x:Name="tiDescription">
           <TabItem.Header>
                 <StackPanel Orientation="Horizontal" >
                       <Image />
                       <TextBlock />
            </StackPanel>
     </TabItem.Header>

    J'aimerais dans l'idéal que ma textblock soit en gras lorsque mon onglet est sélectionné. J'essaie de trouver un exemple sur le net pour la personnalisation mais j'avoue que j'ai du mal à m'y retrouver.
    Pour le faire dans le code-behind, pas de soucis mais j'aimerais réussir à le faire avec un style...

    Si quelqu'un avait un exemple ou une piste, ça m'aiderait beaucoup !!
    Par avance, merci !

    @+

  2. #2
    Membre émérite Avatar de yonpo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2010
    Messages : 617
    Par défaut
    Salut,

    Un bon exemple qui m'a été fort utile
    En espérant que cela t'aide.

    Bon code...

  3. #3
    Membre éclairé Avatar de koyot3
    Inscrit en
    Avril 2007
    Messages
    693
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 693
    Par défaut
    merci pour ta réponse...
    j'ai trouvé une solution avec un IValueConverter mais j'aimerais le mettre directement dans mon xaml...

    Code vb.net : 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
    Public Class HeaderConverter
        Implements IValueConverter
     
     
        Public Function Convert(ByVal value As Object, ByVal targetType As System.Type, ByVal parameter As Object, ByVal culture As System.Globalization.CultureInfo) As Object Implements System.Windows.Data.IValueConverter.Convert
            Dim myValue As Boolean = DirectCast(value, Boolean)
            If (myValue = True) Then
                Return System.Windows.FontWeights.Bold
            Else
                Return System.Windows.FontWeights.Normal
            End If
        End Function
     
        Public Function ConvertBack(ByVal value As Object, ByVal targetType As System.Type, ByVal parameter As Object, ByVal culture As System.Globalization.CultureInfo) As Object Implements System.Windows.Data.IValueConverter.ConvertBack
            Throw New NotImplementedException
        End Function
    End Class

    Quelqu'un aurait une idée ?

    Merci !

  4. #4
    Membre émérite Avatar de yonpo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2010
    Messages : 617
    Par défaut
    Ca serait plus simple de faire ça en XAML
    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
     
    <TabItem x:Name="tiDescription">
                    <TabItem.Header>
                        <StackPanel Orientation="Horizontal" >
                            <Image />
                            <TextBlock />
                        </StackPanel>
                    </TabItem.Header>
                    <TabItem.Style>
                        <Style TargetType="TabItem">
                            <Style.Triggers>
                                <Trigger Property="IsSelected" Value="True">
                                    <Setter Property="FontWeight" Value="Bold"/>
                                </Trigger>
                            </Style.Triggers>
     
                        </Style>
                    </TabItem.Style>
                </TabItem>

  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
    Par défaut
    @yonpo : Jouer sur le style du TabItem comme tu le proposes va mettre en gras tous le contenu du TabItem et pas seulement le texte du Header.

    Une possibilité jouer sur le HeaderTemplate du TabItem. Il y a un exemple ici :
    http://www.developpez.net/forums/d57...ntenu-tabitem/

  6. #6
    Membre émérite Avatar de yonpo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2010
    Messages : 617
    Par défaut
    Citation Envoyé par binoo Voir le message
    @yonpo : Jouer sur le style du TabItem comme tu le proposes va mettre en gras tous le contenu du TabItem et pas seulement le texte du Header.

    Une possibilité jouer sur le HeaderTemplate du TabItem. Il y a un exemple ici :
    http://www.developpez.net/forums/d57...ntenu-tabitem/
    Bon à savoir....

Discussions similaires

  1. [CR] Problème de sélection sur un champ date
    Par noluc dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 21/11/2003, 16h56
  2. Empécher la sélection du texte des pages dans un WebBrowser
    Par DevelOpeR13 dans le forum Web & réseau
    Réponses: 2
    Dernier message: 05/06/2003, 18h36
  3. Sélection texte d'un TMemo
    Par nmathon dans le forum Composants VCL
    Réponses: 2
    Dernier message: 12/05/2003, 16h17
  4. Couleur de sélection par défaut
    Par sicard_51 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 20/04/2003, 23h35
  5. Déplacer la sélection d'une ligne dans un stringgrid
    Par jer64 dans le forum Composants VCL
    Réponses: 5
    Dernier message: 14/03/2003, 00h57

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