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 :

TabControl avec premier onglet différent


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2013
    Messages : 13
    Par défaut TabControl avec premier onglet différent
    Bonjour,
    J'ai un TabControl avec plusieurs onglets, le premier onglet est un onglet classique, les autres devraient avoir une partie commune entre eux (mais cette partie ne doit pas se retrouver sur le premier onglet) et une zone propre à chaque onglet.
    Je pensais faire un style de TabItem qui modifierait le TabPanel, mais je n'arrive pas à obtenir ce que je veux. Si quelqu'un avait des pistes ou des éléments de réponse pour m'aider à avancer j'en serais ravi !

    Pour visualiser le rendu que j'attends, prenons exemple sur les onglets d'un navigateur, le premier onglet affiche une page internet normale; les onglets suivants afficheraient leur page internet respective seulement à partir de la moitié inférieure de l'écran (comme s'il y avait un "trou" sur la première partie de l'onglet) et la partie entre le titre de l'onglet et le milieu de la page on verrais le bureau par exemple.

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 95
    Par défaut
    http://msdn.microsoft.com/en-us/library/ms754137.aspx
    http://msdn.microsoft.com/fr-fr/libr...abcontrol.aspx

    TabControl a une propriété SelectedIndex, tu peux mettre un Trigger dessus et modifier le Template de ton TabControl en conséquence.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2013
    Messages : 13
    Par défaut
    Merci pour ta réponse, je sens que je suis pas loin mais j'ai tout de même une petite erreur, voilà une partie du xaml que j'ai :

    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
     
     <Style x:Key="myTabControl" TargetType="{x:Type TabControl}">
            <Setter Property="BorderThickness" Value="1"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="TabControl">                    
                        <ControlTemplate.Triggers>
                            <Trigger Property="SelectedIndex" Value="0">
                                <Setter Property="Template" Value="{StaticResource FullTab}" />
                            </Trigger>
                            <Trigger Property="SelectedIndex" Value="1">
                                <Setter Property="Template" Value="{StaticResource MiddleTab}" />
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    FullTab et MiddleTab étant mes deux Templates différentes. L'erreur est : 'La valeur fournie sur 'System.Windows.StaticResourceExtension' a levé une exception.'

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 95
    Par défaut
    Tes deux ControlTemplates sont déclarés ou ?

    Dans un même dictionnaire de ressource, veilles bien à déclarer les ressources avant de les utiliser.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        <Style TargetType="{x:Type TextBox}">
            <Setter Property="Foreground" Value="{StaticResource CustomBrush}"/>
        </Style>
     
        <SolidColorBrush x:Key="CustomBrush" Color="#ABCDEF"/>
        //Dans cet ordre, tu auras l'erreur que tu viens de décrire, si tu places le brush avant la définition du style, il y aura pas de problème.
    Dans un dictionnaire de ressource externe, veilles bien à merge les différentes ressources et de le faire dans le bon ordre.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2013
    Messages : 13
    Par défaut
    Dans le même dictionnaire et le dictionnaire est bien déclaré oui, j'ai placé les controlTemplates avant le style mais j'ai la même erreur

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2010
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 95
    Par défaut
    Fais voir l'ensemble du xaml ?

    De cette manière cela marchera pour tout les onglets sauf le premier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        <Style x:Key="myTabControl" TargetType="{x:Type TabControl}">
            <Setter Property="BorderThickness" Value="1"/>
            <Setter Property="Template" Value="{StaticResource MiddleTab}"/>
            <Style.Triggers>
                <Trigger Property="SelectedIndex" Value="0">
                    <Setter Property="Template" Value="{StaticResource FullTab}" />
                </Trigger>
            </Style.Triggers>
        </Style>

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/10/2012, 20h59
  2. TabControl avec boutons sur chaque onglet
    Par Nanos dans le forum Contribuez
    Réponses: 3
    Dernier message: 22/07/2010, 15h05
  3. Graphique avec données d'onglets différents
    Par futneguet dans le forum Excel
    Réponses: 3
    Dernier message: 12/05/2009, 17h43
  4. [Dvp.NET|Intégré] [Source] TabControl avec onglets déplaçables
    Par tomlev dans le forum Contribuez
    Réponses: 0
    Dernier message: 10/03/2009, 17h00
  5. Pb avec les onglets / Tabcontrol
    Par Igmar dans le forum Windows Forms
    Réponses: 14
    Dernier message: 20/04/2007, 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