如何以编程方式将Silverlight网格布局ColumnDefinition宽度设置为"*"?

Han*_*man 9 silverlight grid dynamic width

所以我在Silverlight(V3.0,C#)中为Grid布局动态创建列:

LayoutRoot.ColumnDefinitions.Add(new ColumnDefinition());
Run Code Online (Sandbox Code Playgroud)

并且您可以指定列的宽度为"auto"

LayoutRoot.ColumnDefinitions.Add(new ColumnDefinition() { Width = GridLength.Auto });
Run Code Online (Sandbox Code Playgroud)

但是如何将其设置为"*"(与其他列共享)?

我知道你可以在XAML中设置它,但是你如何在代码中完成它?

ito*_*son 20

使用GridUnitType为Star的GridLength:

new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) };
Run Code Online (Sandbox Code Playgroud)

额外的是,这种技术还支持比例间距,即相当于XAML 2*,3*等.