我正在使用普通的网格,并从代码中添加标签,例如:
int a = 5;
Label lb = new Label();
lb.Content = a;
Grid.SetColumn(lb,i);
Grid.SetRow(lb, 1);
MyGrid.Children.Add(lb);
Grid.SetColumnSpan(lb,3);
Label 正确添加到 Grid 中,但是 columnspan 无效。是否可以做这样的事情?
我正在使用普通的网格,并从代码中添加标签,例如:
int a = 5;
Label lb = new Label();
lb.Content = a;
Grid.SetColumn(lb,i);
Grid.SetRow(lb, 1);
MyGrid.Children.Add(lb);
Grid.SetColumnSpan(lb,3);
Label 正确添加到 Grid 中,但是 columnspan 无效。是否可以做这样的事情?
你的代码没问题。如果您想检查这一点,您应该为标签内容分配更多数据并将网格属性ShowGridLines
( msdn ) 设置为 true。
例子:
<Grid x:Name="MyGrid" ShowGridLines="True">
<Grid.RowDefinitions>
<RowDefinition Height="30" />
<RowDefinition Height="30" />
<RowDefinition Height="30" />
<RowDefinition Height="30" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50" />
<ColumnDefinition Width="50" />
<ColumnDefinition Width="50" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
</Grid>
代码隐藏:
Label lb = new Label();
lb.Content = "1234567890123456789012345678901234567890";
Grid.SetColumn(lb, 1);
Grid.SetRow(lb, 1);
MyGrid.Children.Add(lb);
Grid.SetColumnSpan(lb, 3);
结果: