WPF TextBox ne remplit pas StackPanel

J’ai un contrôle TextBox dans un StackPanel dont l’ Orientation est définie sur Horizontal , mais ne peut pas obtenir la zone de texte pour remplir l’espace restant de StackPanel.

XAML:

       

Et voici à quoi ça ressemble:

texte alt

Pourquoi cette TextBox ne remplit-elle pas le StackPanel?

Je sais que je peux avoir plus de contrôle en utilisant un contrôle Grid , je suis juste confus au sujet de la mise en page.

J’ai eu le même problème avec StackPanel , et le comportement est “par conception”. StackPanel est conçu pour “emstackr” des choses même en dehors de la région visible, de sorte qu’il ne vous permettra pas de remplir l’espace restant dans la dimension d’emstackment.

Vous pouvez utiliser un DockPanel avec LastChildFill défini sur true et ancrer tous les contrôles non remplis sur la Left pour simuler l’effet souhaité.

     

Je recommanderais plutôt d’utiliser une grid:

           

L’autre façon de contourner ce problème consiste à emstackr l’étiquette au lieu de la placer à droite. J’ai remarqué que UWP a une propriété d’en-tête intégrée que vous pouvez utiliser pour cela, pas sûr que la propriété d’en-tête existe pour WPF.