0

我正在使用普通的网格,并从代码中添加标签,例如:

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 无效。是否可以做这样的事情?

4

1 回答 1

2

你的代码没问题。如果您想检查这一点,您应该为标签内容分配更多数据并将网格属性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);

结果:

在此处输入图像描述

于 2013-07-20T11:59:46.433 回答