【问题标题】:How to create dynamic ColumnDefinitions with relative width values?如何创建具有相对宽度值的动态 ColumnDefinitions?
【发布时间】:2012-03-07 06:05:39
【问题描述】:

我找到了这样的代码,用于动态创建 Grid 和一些列:

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>

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

【问题讨论】:

标签: c# wpf dynamic grid


【解决方案1】:

好的,我在发布问题后就想通了:

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

【讨论】:

    猜你喜欢
    • 2021-10-10
    • 2012-10-03
    • 2022-09-27
    • 1970-01-01
    • 1970-01-01
    • 2016-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多