1
BoxViewsを3列と複数行を使用してGrid形式で追加しようとしています。私はxamlを使ってグリッドを定義し、C#ファイルには という振る舞いを定義しています。何が起こるべきかは、BoxViewが列当たり3つの画像を持つ同じ数の画像に対して作成されるべきであるということです。BoxViewsを動的にGridに追加する[Xamarin.Forms]
おかげで、
XAML
<Grid RowSpacing="0" x:Name="scrollBarGrid">
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!--Where the search bar will go-->
<BoxView BackgroundColor="Aqua" Grid.Row="0"/>
<SearchBar ></SearchBar>
<!--Where the images will go-->
<BoxView BackgroundColor="Gray" Grid.Row="1"/>
<Grid x:Name="imageGrid" RowSpacing="0" Grid.Row="1">
</Grid>
</Grid>
C#
public MainPage()
{
InitializeComponent();
int colMaximum = 3;
int numberOfImages = 15;
//To add three columns
for (int i = 0; i < colMaximum; i++)
{
imageGrid.ColumnDefinitions.Add(new ColumnDefinition()
{
Width = new GridLength(120, GridUnitType.Absolute)
});
}
//To add an array of rows
imageGrid.RowDefinitions = new RowDefinitionCollection();
for (int myCount = 0; myCount <= numberOfImages/colMaximum; myCount++)
{
imageGrid.RowDefinitions.Add(new RowDefinition()
{
Height = new GridLength(120, GridUnitType.Absolute)
});
//To add a new box view for each
for (int newcol = 0; newcol <= colMaximum; newcol++)
{
for (int newrow = 0; newrow <= numberOfImages/colMaximum; newrow++)
{
imageGrid.Children.Add(new BoxView() { BackgroundColor = Color.Red });
}
}
}
}
コードには何が問題なのですか?何をしていない、または間違っている? – Jason
こんにちはJason、私がしたいのは、変数 'numberOfImages'(15など)と同じ量のボックスを印刷することです。私はページがグリッド形式で表示する必要があるイメージの量を読み込むInstagramのようなUIを作成しようとしています。万が一、これを達成するより良い方法を知っていますか、ありがとう。 – Noel625
要件を伝えていますが、コードは実際に何をしていますか?エラーや例外はありますか?間違った数の項目を印刷しますか?それはまったく何もしませんか? – Jason