1

リスト (コレクション) があり、リストビュー内にグリッドビューを作成するためにループしている合計 7 つのアイテムがあります。たとえば、行数が5の場合、1を追加して新しい列を作成することもチェックしています。問題は、行数が 5 で true の場合、最初の列には関係なく 7 つの項目があり、2 番目の列が作成されたときに残りの 2 つの項目が表示されないことです。代わりに、7 つの項目すべてが再び表示されます。

誰が助けてくれますか、私は何が間違っていますか?

foreach (var item in lstOfSoda)
{
    GridLength rowheight1 = new GridLength();
    RowDefinition rowDef1 = new RowDefinition { Height = rowheight1 };
    grdSoda.RowDefinitions.Add(rowDef1);

    GridLength rowheight2 = new GridLength();
    RowDefinition rowDef2 = new RowDefinition { Height = rowheight2 };
    grdSoda.RowDefinitions.Add(rowDef2);

    GridLength columnwidth1 = new GridLength(231);
    ColumnDefinition colDef1 = new ColumnDefinition { Width = columnwidth1 };
    grdSoda.ColumnDefinitions.Add(colDef1);

    GridLength columnwidth2 = new GridLength(5);
    ColumnDefinition colDef2 = new ColumnDefinition { Width = columnwidth2 };
    grdSoda.ColumnDefinitions.Add(colDef2);

    ListView lvSoda = new ListView();
    lvSoda.SetValue(Grid.RowProperty, row + 1);
    lvSoda.SetValue(Grid.ColumnProperty, column);
    grdSoda.Children.Add(lvSoda);

    GridView gridView = new GridView();

    GridViewColumn gvcSodaName = new GridViewColumn();
    gvcSodaName.DisplayMemberBinding = new Binding("SodaName");
    gridView.Columns.Add(gvcSodaName);

    GridViewColumn gvcSodaFlavor = new GridViewColumn();
    gvcSodaFlavor.DisplayMemberBinding = new Binding("SodaFlavor");
    gridView.Columns.Add(gvcSodaFlavor);

    lvSoda.ItemsSource = lstOfSoda;
    lvSoda.View = gridView;
    rowCount++;

    if (rowCount == 5)
    {
        column = column + 2;
        rowCount = 0;
    }
}
4

0 に答える 0