xamarin形式的网格数量

时间:2017-11-25 16:30:23

标签: c# ios listview xamarin.forms android-gridlayout

首先,我刚刚开始使用xamarin表单,而c#我已经设法使用了listview,但是当涉及到网格时,我很少有点困惑,基本上我需要的是将一个对象绑定到一系列行为的网格像这样:

每行2列,我已设法使用此代码执行此操作:

<Grid HorizontalOptions="Fill" VerticalOptions="Fill" Margin="10">
            <Grid.RowDefinitions>
                <RowDefinition Height="1*" />
                <RowDefinition Height="1*" />
                <RowDefinition Height="1*" />
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="1*" />
                <ColumnDefinition Width="1*" />
            </Grid.ColumnDefinitions>

            <!--fila 1-->
            <StackLayout Grid.Column="0" Grid.Row="0" BackgroundColor="Blue" HorizontalOptions="Fill"></StackLayout>
            <StackLayout Grid.Column="1" Grid.Row="0" BackgroundColor="Red" HorizontalOptions="Fill"></StackLayout>
            <!--fila 2-->
            <StackLayout Grid.Column="0" Grid.Row="1" BackgroundColor="Red" HorizontalOptions="Fill"></StackLayout>
            <StackLayout Grid.Column="1" Grid.Row="1" BackgroundColor="Blue" HorizontalOptions="Fill"></StackLayout>
            <!--fila 3-->
            <StackLayout Grid.Column="0" Grid.Row="2" BackgroundColor="Blue" HorizontalOptions="Fill"></StackLayout>
              <StackLayout Grid.Column="1" Grid.Row="2" BackgroundColor="Red" 
    HorizontalOptions="Fill"></StackLayout>
    </Grid>

enter image description here

但是,我不知道如何动态填充网格信息。使用listview是非常简单的,因为它只有bind命令,在这里我不知道,有人可以请我指向正确的方向吗? 感谢。

1 个答案:

答案 0 :(得分:0)

int row = 0;
int col = 0;

// data is a List<string>
foreach (var text in data) {
  var label = new Label() { Text = text };
  grid.Children.Add(box, col, row);

  col++;
  if (col > 1) {
    col = 0;
    row++;
  }

}