我正在制作一个照片库,它从网址中获取图像名称的JSON。使用列表形式真的不提供良好的用户体验,所以我打算改变网格形式。尝试我在stackoverflow中找到的一些代码。问题是我尝试创建一个数组绑定,以便随着数据库中照片数量的增加,应用程序将为它添加一个新的网格并显示它。
<Grid x:Name="grid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Image Grid.Column="0" Source="{Binding Images[0].MyImageUrl}" />
<Image Grid.Column="1" Source="{Binding Images[1].MyImageUrl}" />
<Image Grid.Column="2" Source="{Binding Images[2].MyImageUrl}" />
</Grid>
这是XAML格式,现在我正在尝试创建一个与此绑定的cs,其中将自动创建一个网格文件以显示JSON文件中的图像。 提前致谢
答案 0 :(得分:0)
Grid
没有ItemsSource
之类的属性。所以你需要至少以编程方式添加图像。
protected override void OnAppearing ()
{
base.OnAppearing();
// Create cols for each img
for(int col = 0; col < Images.Length; ++col){
grid.ColumnDefinitions.Add(new ColumnDefinitions { Width = new GridLenght(1, GridUnitType.Star)});
}
// Populate grid
for(int col = 0; col < Images.Length; ++col){
grid.Children.Add(new Image { source = Images[col] },0,col);
}
}
如果你想在XAML中做所有事情。使用FlowListView
编辑:我做了2 for's
因为我不确定您在创建Add
时是否尝试ColumnDefinition
它会起作用。无论如何,尝试一种方式。