C# WPF Ne pas afficher le Tab Header d'un TabControl
Date: Samedi 09 avril 2011 à 19:40:10
Sujet: Programmation C# .NET


Quand on créé des applications WPF en C#, on peut avoir besoin d'utiliser un groupe d'onglet (TabControl) mais ne pas vouloir afficher les Tab Headers qui contiennent le nom des onglets et permettent de swapper d'un onglet a un autre.

Il n'existe pas a proprement parler d'option d'affichage WPF permettant de ne pas afficher les entêtes des onglets (tab header) mais on peut tout de même utiliser une astuce pour ne pas en afficher.

 



On peut par exemple utiliser un tab control et des tab items sans vouloir afficher les header, si l'on souhaite contrôler le changement d'onglet et que l'affichage d'entêtes grisées en (IsEnabled=false) ne s'intègre pas a notre interface.

Pour empêcher l'affichage des tab headers, on va remplacer le ControlTemplate des Tab items par un template vide et on va définir une bordure des tab controls egale à 0.

En pratique : code WPF

Ajoutez le code source suivant dans le nœud de votre TabControl :

<TabControl.Resources>

            <Style TargetType="TabItem">

                        <Setter Property="Template">

                                    <Setter.Value>

                                               <ControlTemplate TargetType="TabItem">

                                               </ControlTemplate>

                                    </Setter.Value>

                        </Setter>

            </Style>

</TabControl.Resources>