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

标签 c# wpf dynamic 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>

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

最佳答案

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

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

关于c# - 如何创建具有相对宽度值的动态 ColumnDefinitions?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9301163/

相关文章:

c# - 在 ASP.NET 中调用 PLSQL 过程

WPF Observable集合,动态类型

excel - 使用间接引用另一张工作表上的 Excel 命名范围

php - 如何将动态值插入mysql数据库

javascript - Paypal API 的动态价格变化?

c# - Bootstrap 模态对话框不会出现在屏幕中央

c# - 反转 SQL Server 中列的内容

c# - 接口(interface)不能包含字段

WPF 自定义控件 : TemplateBinding to Image

c# - WPF 命令不适用于 MVVM 应用程序中的子菜单项