微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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);
. . .

原文地址:https://www.jb51.cc/csharp/93803.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐