我正在采取一个有3行3列的网格。我想要将图像绑定到该网格上,实际上图像会添加到网格中,但不会以正确的方式添加,即它们不会放置在网格的单元格中。在Windows Phone 7中的网格绑定?
如何正确地将12个图像绑定到网格的单元格。我希望所有图像具有相同的大小和宽度,以正确放置网格。
我正在采取一个有3行3列的网格。我想要将图像绑定到该网格上,实际上图像会添加到网格中,但不会以正确的方式添加,即它们不会放置在网格的单元格中。在Windows Phone 7中的网格绑定?
如何正确地将12个图像绑定到网格的单元格。我希望所有图像具有相同的大小和宽度,以正确放置网格。
我觉得我的版本是更清楚(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);
}
像其他答案一样,这不具有约束力,您所做的只是创建一个图像并将其添加到网格控件。 – Bil 2011-08-25 00:04:20
<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);
}
}
这没有约束力,你所做的只是创建一个图像并将其添加到网格控件。 – Bil 2011-08-25 00:03:30
'PLZ urgent'为Windows Mobile 7,它是不是直到圣诞节? – 2010-07-20 06:33:22