2009-10-18 4 views
9

So Spalten dynamisch für ein Grid-Layout in Silverlight (V3.0, C#) Ich erstelle:Wie setze ich eine ColumnDefinition-Breite eines Silverlight Grid-Layouts programmatisch auf "*"?

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

und Sie können spezifisch, dass die Breite des Spalts sein "auto" mit

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

Aber wie Sie es auf "*" setzen (mit anderen Spalten teilen)?

Ich weiß, dass Sie dies im XAML festlegen können, aber wie machen Sie es im Code?

Antwort

20

Pass eine GridLength mit einem GridUnitType von Star:

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

Bonus ist, dass diese Technik proportional Abstand d.h. das Äquivalent von XAML 2 *, 3 * auch unterstützt usw.

Verwandte Themen