Bonjour à tous,
J'utilise le composant Accordion disponible dans la toolkit WPF.
Seul hic, le background de ces items est défini sur bleu : après quelque recherche je suis tombé sur ce lien qui indique une solution.
J'ai donc voulu tester avec un exemple tout simple : voici le code
Code xml : 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
19
20
21
22 <control:Accordion x:Name="MyAccordion" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" > <control:AccordionItem x:Name="MyAccordionItem" Header="Header 1" Background="White"> <Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="White" Width="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type control:AccordionItem}}, Path=ActualWidth}" Height="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type control:AccordionItem}}, Path=ActualHeight}"> <ScrollViewer> <StackPanel Grid.Column="0" Orientation="Vertical" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" > <Button Content="Bouton 1"/> <Button Content="Bouton 2"/> <Button Content="Bouton 3"/> <Button Content="Bouton 4"/> <Button Content="Bouton 5"/> </StackPanel> </ScrollViewer> </Grid> </control:AccordionItem> <control:AccordionItem Header="Header 2"/> <control:AccordionItem Header="Header 3"/> </control:Accordion>
Au final tout apparaît correctement (fond banc, les boutons) MAIS lors du redimensionnement de la fenêtre le scroll sur mon StackPanel est décalé : je veux dire qu'il n'apparaît qu'une fois que mon dernier bouton n'est plus visible. Donc en gros il me manque toujours le dernier composant.
En regardant en mode design, il s'avère que le Grid prend la bonne Width mais il encapsule la hauteur du Header 2, ce qui, je pense est à l'origine de ce décalage...
Quelqu'un aurait-il une idée du pourquoi ??
Par avance MERCI
@+
Partager