[英]Grid Binding in Windows phone 7?
我正在一個具有3行3列的網格。我想將圖像綁定到該網格,實際上是將圖像添加到網格中,但未以正確的方式添加。
如何將12張圖像正確綁定到網格單元。我希望所有圖像的大小和寬度都正確地放置在該網格中。
<Grid HorizontalAlignment="left" Name="grid_main" Visibility="collapsed">
</Grid>
這是將4張圖像排成一行的代碼。
int j = 0;
int k = 0;
for (i = 1; i < 13; i++)
{
grid_image = new Image();
ColumnDefinition coldef = new ColumnDefinition();
coldef.Width = GridLength.Auto;
grid_main.ColumnDefinitions.Add(coldef);
// do this for each row
RowDefinition rowdef = new RowDefinition();
rowdef.Height = GridLength.Auto;
grid_main.RowDefinitions.Add(rowdef);
Grid.SetColumn(grid_image, 0);
Grid.SetRow(grid_image, 0);
if (j < 4)
{
grid_image.SetValue(Grid.RowProperty, k);
grid_image.SetValue(Grid.ColumnProperty, j++);
grid_main.Children.Add(grid_image);
}
else
{
j = 0; k = k + 1;
grid_image.SetValue(Grid.RowProperty, k);
grid_image.SetValue(Grid.ColumnProperty, j++);
grid_main.Children.Add(grid_image);
}
}
我認為我的版本更清楚(3行,自動行):
ColumnDefinition coldef = new ColumnDefinition();
coldef.MinWidth = 135;
gridCat.ColumnDefinitions.Add(coldef);
coldef = new ColumnDefinition();
coldef.MinWidth = 135;
gridCat.ColumnDefinitions.Add(coldef);
coldef = new ColumnDefinition();
coldef.MinWidth = 135;
gridCat.ColumnDefinitions.Add(coldef);
RowDefinition rowdef = rowdef = new RowDefinition();
rowdef.MinHeight = 135;
gridCat.RowDefinitions.Add(rowdef);
for (int i = 0; i < App.CatViewModel.Items.Count; i++)
{
Image grid_image = new Image();
ImageSourceConverter c = new ImageSourceConverter();
grid_image.SetValue(Image.SourceProperty, c.ConvertFromString("img/touro.png"));
grid_image.SetValue(Image.WidthProperty, 128.0);
grid_image.SetValue(Image.HeightProperty, 128.0);
if ((i + 1) % 3 == 0)
{
rowdef = new RowDefinition();
rowdef.MinHeight = 135;
gridCat.RowDefinitions.Add(rowdef);
}
grid_image.SetValue(Grid.RowProperty, i/3);
grid_image.SetValue(Grid.ColumnProperty, i%3);
gridCat.Children.Add(grid_image);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.