Conteneur en WPF [Résolu]

Messages postés
43
Date d'inscription
dimanche 2 novembre 2003
Statut
Membre
Dernière intervention
6 septembre 2011
- - Dernière réponse : XenonGP
Messages postés
43
Date d'inscription
dimanche 2 novembre 2003
Statut
Membre
Dernière intervention
6 septembre 2011
- 17 févr. 2010 à 16:30
Bonjour à tous,

Voici mon problème: je dois faire un composant en WPF. C'est un panel avec un titre un peu comme un groupbox. Evidemment il faut pouvoir mettre un composant dedans.

Il faut que ce soit un composant à part entière et pas juste un style mis sur un ContentControl...

Quelqu'un s'y connait-il assez en xaml pour faire ca ?

Merci d'avance,
XenonGP
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
43
Date d'inscription
dimanche 2 novembre 2003
Statut
Membre
Dernière intervention
6 septembre 2011
3
Merci
Salut,

Le style ne suffit pas parce que ce n'est pas ce que je veux faire, je veux m'en sortir sans style ou alors un style qui se met tout seul sur un contrôle que je fais.

Je viens juste de trouver la réponse:




    
        <Style TargetType="local:Category">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="local:Category">
                        
                            <StackPanel>
                                
                                    
                                        <LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
                                            <GradientStop Color="#CBDBEE" Offset="0"/>
                                            <GradientStop Color="#E6F1FE" Offset="1"/>
                                        </LinearGradientBrush>
                                    
                                    <Label
                                        HorizontalContentAlignment="Center"
                                        Foreground="#154D9F"
                                        Content="{TemplateBinding Title}"
                                        />
                                

                                <ContentPresenter />
                            </StackPanel>
                        
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    

    <Grid>
        <!-- vide :-) -->
    </Grid>





et alors dans mon xaml principal j'insère:


<local:Category
    Title="Ma belle catégorie"
    >
    <StackPanel>
        <Label>exemple 1</Label>
        <Label>exemple 2</Label>
        <Label>exemple 3</Label>
    </StackPanel>
</local:Category>



Le résultat est un petit cadre bien joli avec un titre autour de mes labels.
Evidemment, on pouvait spécifier le style en hard dans le xaml principal mais c'est quand-même plus propre comme ca.

Merci à tous,
XenonGP

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 191 internautes nous ont dit merci ce mois-ci

Commenter la réponse de XenonGP
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
30
0
Merci
Salut

Regarde du côté des UserControl

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
Commenter la réponse de krimog
Messages postés
43
Date d'inscription
dimanche 2 novembre 2003
Statut
Membre
Dernière intervention
6 septembre 2011
0
Merci
Merci mais c'est déjà fait. En fait je voudrais pouvoir écrire en xaml:

<Category Title="Tools">
    <Label>an inner control</Label>
</Category>


Et lorsque je fais un usercontrol, tout le contenu de celui-ci est remplacé par le label et donc je n'ai plus de titre ...
Commenter la réponse de XenonGP
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
24
0
Merci
Salut,

Il faut faire un Control WPF alors

en se basant sur cet article
http://www.codeproject.com/KB/WPF/WPFOutlookBar.aspx
tu dois avoir une bonne base de départ

pourquoi un style sur le groupbox ne siffit pas?
Commenter la réponse de nhervagault