Conteneur en WPF

Résolu
XenonGP Messages postés 43 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 6 septembre 2011 - 16 févr. 2010 à 15:59
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

4 réponses

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
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
3
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 48
16 févr. 2010 à 16:17
Salut

Regarde du côté des UserControl

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
0
XenonGP Messages postés 43 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 6 septembre 2011
16 févr. 2010 à 16:44
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 ...
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
16 févr. 2010 à 23:02
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?
0