Lorsque vous définissez une colonne dans un WPF grille, vous pouvez définir la largeur de l'une des trois valeurs possibles:
- Une largeur fixe,
-
Auto
ce qui signifie étendre à la taille du contenu, ou
-
*
(star) de prendre tout l'espace disponible
L' *
est préfixé par un certain nombre (la valeur par défaut est 1 si aucun nombre n'est spécifié). L'espace disponible est réparti entre le chef étoilé colonnes en proportion le numéro de préfixe.
Si vous avez cette définition
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.07*"/>
<ColumnDefinition Width="0.93*"/>
</Grid.ColumnDefinitions>
La première colonne, vous bénéficiez de 7% de l'espace total disponible et la deuxième colonne de 93%. D'autre part, si vous avez eu cette définition:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.07*"/>
<ColumnDefinition Width="0.14*"/>
</Grid.ColumnDefinitions>
La première colonne obtenir 1/3 et la deuxième 2/3 de l'espace disponible.
Dans votre cas particulier où la largeur de la grille est de 354 et les proportions des deux colonnes de 40 ans et 314, vous recevrez les largeurs de colonne:
D'abord la largeur de la colonne = 40/(40 + 314)*354 = 40
Deuxième coulmn largeur = 314/(40 + 314)*354 = 314
L'étoile la largeur est meilleur lorsque la largeur de la grille n'est pas fixe. Lorsque la grille est redimensionné les colonnes seront ensuite mis à l'échelle proportionnellement tel que spécifié par l'étoile largeurs. Dans votre cas, la largeur de la grille est fixe et vous pouvez tout aussi facilement utiliser des colonnes de largeur fixe.
Si vous souhaitez une mise en page où la deuxième colonne est le double de la largeur de la première et de la troisième colonne est le triple de la largeur de la première vous avez besoin de cette définition:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="3*"/>
</Grid.ColumnDefinitions>
Si la largeur totale de la grille est de 300, vous obtenez les largeurs de colonne de 50, 100 et 150. Si la largeur totale de la grille est de 600, vous obtenez des largeurs de colonnes 100, 200 et 300. Et ainsi de suite.