簡體   English   中英

從WP7 C#中的網格布局中刪除空行

[英]Remove empty rows from Grid layout in WP7 C#

我以編程方式使用“ n”個行和列創建了Grid布局。

Grid test = new Grid();
for (int i = 1; i <= cols1; i++)
{
    for (int j = 1; j <= rows1; j++)
    {
        if (array[i, j] != null)
        {
            ColumnDefinition col = new ColumnDefinition();
            col.Width = new GridLength(50);
            test.ColumnDefinitions.Add(col);
            RowDefinition row = new RowDefinition();
            row.Height = new GridLength(50);
            test.RowDefinitions.Add(row);

            Image img = new Image();
            img.source = new BitmapImage(new Uri("testimg.jpg", urikind.Relative));
            Grid.SetRow(img, j);
            Grid.SetColumn(img, i);
            test.Children.Add(img);
        }
    }
}

空值不會添加到網格中。 以便有空列。 它在空列中留出空間。
如何避免空列。
任何幫助將不勝感激。

你應該做這個:

Grid test = new Grid();
for (int j = 0; j <= rows1; j++)
{ 
    RowDefinition row = new RowDefinition();
    row.Height = new GridLength(50);
    test.RowDefinitions.Add(row);
    for (int i = 0; i <= cols1; i++)
    {
        if (array[i, j] != null)
        {
            if(j == 0)
            { 
                ColumnDefinition col = new ColumnDefinition();
                col.Width = new GridLength(50);
                test.ColumnDefinitions.Add(col);
            }
            Image img = new Image();
            img.source = new BitmapImage(new Uri("testimg.jpg", urikind.Relative));
            Grid.SetRow(img, j);
            Grid.SetColumn(img, i);
            test.Children.Add(img);
        }
        else
        {
            i--;
        }
    }
}

注意:

您應該避免為每個元素添加ColumnDefinitionRowDefinition 您應該添加ColumnDefinition 一個RowDefinition 一個每一

將空的ColumnDefinition / RowDefinition的MaxWidth設置為0。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM