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 :

Customiser un TabControl WPF


Sujet :

Windows Presentation Foundation

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 87
    Par défaut Customiser un TabControl WPF
    Bonjour à tous,

    je cherche à customiser un TabControl.
    je voudrais choisir l'emplacement des "Header de Tab", mais pas seulement les "docker" en haut, bas, gauche, droite, mais plutot, les déplacer par exemple au milieu haut du TabControl.

    Pour cela, j'ai parcouru complètement la doc sur les "<ControlTemplate>", j'ai récupérer le ControlTemplate du système appliqué au TabControl, en utilisant le "visual Tree".

    Actuellement, je peux donc voir comment WPF met en place un TabControl au travers du ControlTemplate existant.

    Mais dans ce ControleTemplate existant, je ne trouve toujours pas de solution pour déplacer les "header" de Tab ou je veux ...

    Quelqu'un aurait-il une idée, ou est-ce que c'est impossible en WPF ?

    Merci pour vos réponses.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Apparemment le positionnement des items est géré par la classe TabPanel. Je pense qu'il faut que tu hérites de TabPanel et que tu redéfinisses les méthodes ArrangeOverride et MeasureOverride, et que tu remplace le TabPanel par ton nouveau panel dans le template

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 87
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Je pense qu'il faut que tu hérites de TabPanel et que tu redéfinisses les méthodes ArrangeOverride et MeasureOverride,
    Ok, je les redéfini ... mais je leur change quoi à ces méthodes pour bouger les "header" ?

    Merci

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Je sais pas, j'ai jamais fait... faut regarder la doc
    ArrangeOverride
    MeasureOverride

    Tu pourras trouver de l'inspiration en regardant le code de TabPanel avec Reflector

  5. #5
    Membre Expert
    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
    Par défaut
    écoute redéfini le style avec blend tu vas gagner du temps
    regarde ca en attendant
    http://www.switchonthecode.com/tutor...inside-and-out

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 87
    Par défaut
    Citation Envoyé par ikeas Voir le message
    Yop,

    Le style, de quelle façon que je le redéfinisse, ne me permet pas de déplacer les "headers" (il me semble en tout cas).

    Avec la redéfinition du style (Avec blend ou pas, c'est la meme chose), on peut seulement décorer ou adapter des textes ou des couleurs, mais pas retoucher aux positionnement des header.

  7. #7
    Membre Expert
    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
    Par défaut
    ben non tu peux tout faire decaler les header
    fo quelque fois redefinir les sous styles
    mais ca marche je t'assure

    si tu y arrive pas fait moi un dessin de ce que tu veux je regarderais avec le style et je te senderais ic le resultat

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 87
    Par défaut
    Ben,
    en fait, avec un tabControl ordinaire, les Header sont en haut a gauche.
    Je voudrais que les Header commence au milieu (mais toujours en haut) du tabControl.

    Et si j'ajoute par la suite des TabItem dynamiquement, ils continuent de s'imbriquer à la suite des existants (au milieu donc).

    Je sais pas si je suis clair...
    Mais si c'est effectivement faisable avec les styles, ça m'arrange beaucoup ...

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    c'est possible de le faire que avec des styles, mais ça veut dire qu'il faudra remplacer le TabPanel par un autre type de panel, qui ne sera peut-être pas très adapté pour un TabControl...

  10. #10
    Membre Expert Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Par défaut
    Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <TabControl>
    	<TabControl.Resources>
    		<Style TargetType="{x:Type TabPanel}">
    			<Setter Property="HorizontalAlignment"
    					Value="Center" />
    		</Style>
    	</TabControl.Resources>
    	<TabItem Header="plop" />
    	<TabItem Header="plop" />
    	<TabItem Header="plop" />
    	<TabItem Header="plop" />
    </TabControl>

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2006
    Messages : 87
    Par défaut
    Ouarf !

    Ben j'étais passé à coté de ça...
    Merci beaucoup, exactement ce que je voulais!

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

Discussions similaires

  1. [WPF] Personnalisation tabControl
    Par Nanos dans le forum Windows Presentation Foundation
    Réponses: 30
    Dernier message: 25/07/2010, 20h14
  2. [WPF] TabControl Splitter
    Par NeoKript dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 08/04/2010, 00h00
  3. [WPF] Datatemplate & Tabcontrol
    Par NeoKript dans le forum Windows Presentation Foundation
    Réponses: 8
    Dernier message: 01/04/2010, 20h13
  4. Equivalent de Multiline dans le TabControl WPF
    Par leSeb dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 24/09/2009, 13h16
  5. [WPF]TabControl dans un TabItem
    Par guitoux1 dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 15/06/2007, 20h22

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