[英]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--;
}
}
}
您應該避免為每個元素添加ColumnDefinition
和RowDefinition
。 您應該添加ColumnDefinition
一個每列和RowDefinition
一個每一行 。
將空的ColumnDefinition / RowDefinition的MaxWidth設置為0。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.