WPF comment avoir un comportement flex pour mes boutons mes control ?

Concevoir une application WPF Responsive Design, ça parait facile, avec WPF. Et pourtant, il existe des choix de composants qui peuvent tout changer.

 

Pouvoir adapter la disposition d’un controle suivant la taille de la fenêtre

Ici, nous souhaitons mettre en place le comportement suivant :

Nous avons une suite de composants, et lorsque la taille de l’écran ne permet plus aux composants de tenir sur la même largeur, chaque composant passe un à un à la ligne au dessous.

 

C’est un comportement que l’on trouve souvent dans la mise en place de Responsive Design, du côté web, avec le div et le flex.

StackPanel, DockPanel ?

La première idée c’est d’utiliser un Stack Panel ou bien un Dock Panel.

Ils ont une disposition des enfants qui permet à priori cette idée :

Chaque composant s’ajoute après l’autre.

 

OK, mais si l’on réduit la largeur de la fenêtre, nous n’avons pas le comportement souhaité.

 

Découverte du WrapPanel

Et c’est là qu’intervient le WrapPanel.

 

C’est son but de gérer la disposition, et l’emplacement sur une ou plusieurs lignes.

carbon (43)

 

Une fois mis en place, avec le code suivant par exemple :

carbon (44)

Bingo ça fonctionne ! Smile

 

dotnet wrappanel animation

Notre adresse

1 rue du guesclin
44000 Nantes

Notre téléphone

+33 2 79 65 52 87

Société

DevToBeCurious SARL
84860163900018 - Nantes B 848 601 639