加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 03:45:29 所属栏目:百科 来源:网络整理
导读:我已经找到这样的代码来动态创建一个网格和一些列: Grid grd = new Grid();ColumnDefinition c = new ColumnDefinition(); c.Width = new GridLength(50,GridUnitType.Pixel); . . .grd.ColumnDefinitions.Add(c); 但是我想创建相对宽度的列,它们对应于xaml
我已经找到这样的代码来动态创建一个网格和一些列:
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);
. . .

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读