0

我仍然无法理解如何定义灵活的网格布局......我想有一个有 n 行(我不知道有多少)和 m 列(我不知道有多少)的网格。我希望单元格有一个特定的高度和宽度(50 和 50)....

这就是我可以设置行和列定义的方式:

<Grid.ColumnDefinitions>
    <ColumnDefinition Width="350" />
    <ColumnDefinition Width="130" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
    <RowDefinition Height="Auto" />
    <RowDefinition Height="2*" />
    <RowDefinition Height="*"/>
</Grid.RowDefinitions>

但是这样我只是设置了两列和三行......没有办法为每列和网格设置一个列定义和一个行定义?

谢谢

4

2 回答 2

1

继续最初的问题,这就是你如何启动 C# :-

         Grid Layout = new Grid();

         foreach (your condition)
         { 
         //
             Layout.ColumnDefinitions.Add(new ColumnDefinition() { Width = GridLength.Auto });
             Layout.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(50)});
             Layout.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(50) });
         }
于 2013-09-29T05:45:38.603 回答
0

这就是你的做法

public MainPage()
    {
        InitializeComponent();
        var def = new ColumnDefinition();
        def.Width = new GridLength(100);
        gdTest.ColumnDefinitions.Add(def);
        StackPanel sp = new StackPanel();
        sp.Background = new SolidColorBrush( Colors.Brown);
        sp.SetValue(Grid.ColumnProperty, 1);
        gdTest.Children.Add(sp);

    }

Xaml

<Grid x:Name="gdTest" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"  Margin="5,0,5,0">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>

    <StackPanel Grid.Column="0" x:Name="TestStack" Background="Red"/>


</Grid>

添加代码并测试:)

于 2013-09-16T07:53:13.333 回答