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

0
Adam 2 janv. 2010 à 04:38

2 réponses

Meilleure réponse

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.

3
Bryan Anderson 3 janv. 2010 à 02:50
Même si ce n'est pas un StackPanel, je soupçonne que cela a plus à voir avec ce que le DataGrid est contenu à l'intérieur, que le contrôle lui-même.
 – 
Will Eddins
3 janv. 2010 à 02:52
C'était exactement le problème... sauf qu'il semblait apparaître au hasard à un moment donné, ce qui m'a intrigué. Quoi qu'il en soit, une grille avec des colonnes fonctionne parfaitement maintenant. Merci.
 – 
Adam
3 janv. 2010 à 07:41

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.

0
Rizon 2 janv. 2010 à 04:58
Je n'utilise jamais l'écran de conception. J'ai essayé de définir spécifiquement la largeur sur auto, mais c'est la même chose. Mon code était bien avant sans aucune propriété de largeur définie. C'est un problème vraiment étrange.
 – 
Adam
2 janv. 2010 à 05:19