Dans cet exemple, la première colonne obtient 100 et les deux colonnes suivantes 50 chacune, ce qui correspond au comportement attendu.Pourquoi la grille WPF ne partage pas l'espace de manière égale lorsque la colonne du milieu a une largeur minimale?
<Grid Width="200" Height="200">
<Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="100" />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Border Background="Red" Grid.Column="0" />
<Border Background="Yellow" Grid.Column="1" />
<Border Background="Blue" Grid.Column="2" />
</Grid>
Si je déplace la MinWidth à la colonne du milieu ...
<Grid Width="200" Height="200">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition MinWidth="100" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Border Background="Red" Grid.Column="0" />
<Border Background="Yellow" Grid.Column="1" />
<Border Background="Blue" Grid.Column="2" />
</Grid>
... puis la première colonne obtient 33.3 et la dernière colonne 66,6 qui semble bizarre. Je ne sais pas pourquoi cela devrait changer le comportement de la grille. Je m'attendrais à ce que les colonnes 0 et 2 en obtiennent 50 chacune.
Mise à jour: Je comprends pourquoi cela arrive, mais me demandais si quelqu'un pense qu'il est un bug (d'autant plus que le comportement dans Silverlight est différent)
Pimping pour les réponses sur twitter? Eh bien, je suppose que ça a marché. – Will
Hmmm. J'utilise C# 3.5 et ma colonne rouge est la taille de votre colonne bleue et ma colonne bleue est la taille de votre colonne rouge pour le second exemple. – Crispy
@Chris oui, il a changé avec 4.0. Je n'ai trouvé nulle part où les changements ont été documentés, donc j'ai ouvert un Connect. – Will