J'ai travaillé sur une application avec une grille de données de la boîte à outils wpf et la largeur n'était pas spécifiée dans le xaml (par défaut sur auto), et cela fonctionnait bien. Cela étendrait la largeur de la fenêtre au fur et à mesure que je redimensionne la fenêtre. Cependant, tout à coup, la largeur "auto" est massive et je ne sais pas pourquoi. Lorsque je tire le fichier xaml dans blend, il indique que la largeur automatique est de 50002 pixels. J'ai à peine touché à autre chose dans mon xaml depuis que c'est arrivé. Quelqu'un sait pourquoi il fait ça et d'où vient ce numéro ? Merci
2 réponses
La cause la plus courante pour cela que j'ai vue est lorsque le contrôle est à l'intérieur d'un StackPanel avec Orientation=Horizontal. Les StackPanels ne contraignent pas leurs contrôles dans le sens de l'empilement, donc si rien d'autre ne contraint le contrôle, il atteint une taille maximale.
Si tel est le problème, essayez de remplacer votre StackPanel par un DockPanel ou une grille équivalent.
Si vous faisiez un redimensionnement manuel à l'aide de l'IDE de Visual Studio, cela aurait peut-être eu lieu ou vous auriez pu accidentellement taper la mauvaise taille de 50002. La suppression des largeurs et le réglage sur auto devraient résoudre le problème.
Questions connexes
De nouvelles questions
wpf
Windows Presentation Foundation, ou WPF, est un sous-système de rendu des interfaces utilisateur dans les applications Windows.
StackPanel
, je soupçonne que cela a plus à voir avec ce que leDataGrid
est contenu à l'intérieur, que le contrôle lui-même.