2009-10-18 6 views
9

donc je crée dynamiquement des colonnes pour une mise en page de grille dans Silverlight (V3.0, C#):Comment définir une largeur de la disposition ColumnDefinition de la grille Silverlight sur "*" par programme?

LayoutRoot.ColumnDefinitions.Add(new ColumnDefinition()); 

et vous pouvez spécifique que la largeur de la colonne être « auto » avec

LayoutRoot.ColumnDefinitions.Add(new ColumnDefinition() { Width = GridLength.Auto }); 

Mais comment l'affecter à "*" (partager avec d'autres colonnes)?

Je sais que vous pouvez définir cela dans le code XAML, mais comment le faites-vous dans le code?

Répondre

20

passer un GridLength avec un GridUnitType d'étoiles:

new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }; 

Bonus est que cette technique prend également en charge un espacement proportionnel à-dire l'équivalent de XAML 2 *, 3 *, etc.

Questions connexes