c# – 如何创建具有相对宽度值的动态ColumnDefinitions?

我已经找到这样的代码来动态创建一个网格和一些列:
Grid Grd = new Grid();
ColumnDeFinition c = new ColumnDeFinition(); 
c.Width = new GridLength(50,GridUnitType.Pixel); 
. . .
Grd.ColumnDeFinitions.Add(c);

但是我想创建相对宽度的列,它们对应于xaml中使用的“*”:

<Grid.ColumnDeFinitions>
    <ColumnDeFinition Width="*" />
    <ColumnDeFinition Width="*" />
    <ColumnDeFinition Width="*" />
    <ColumnDeFinition Width="4*" />
    <ColumnDeFinition Width="*" />
    <ColumnDeFinition Width="3*" />
    <ColumnDeFinition Width="*" />
    <ColumnDeFinition Width="*" />
  </Grid.ColumnDeFinitions>

如何动态地使用这些相对宽度值/比例?

解决方法

好的,我想出来,发布后问题:
. . .
ColumnDeFinition c1 = new ColumnDeFinition();
c1.Width = new GridLength(1,GridUnitType.Star);
ColumnDeFinition c2 = new ColumnDeFinition();
c2.Width = new GridLength(4,GridUnitType.Star);
ColumnDeFinition c3 = new ColumnDeFinition();
c3.Width = new GridLength(1,GridUnitType.Star);
ColumnDeFinition c4 = new ColumnDeFinition();
c4.Width = new GridLength(3,GridUnitType.Star);
ColumnDeFinition c5 = new ColumnDeFinition();
c5.Width = new GridLength(1,GridUnitType.Star);
. . .
Grd.ColumnDeFinitions.Add(c1);
. . .

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...