在silverlight中将子项添加到WrapPanel的最佳方法是什么?我正在使用C#,我正在读取包含缩略图和相关信息的图像的JSON对象.
最终目标是有一个缩略图网格(水平13个拇指横跨950像素×6个拇指垂直).
当您面对在代码中添加项目时,通常会有更好的方法.
如何制作ListBox并将其ItemsSource设置为您的列表(或将其绑定到DataContext).创建一个DataTemplate以显示缩略图+信息然后(这是重要的部分)使用WrapPanel创建ItemsPanelTemplate.
然后在您的代码中,一旦您从JSON调用中获取数据:
this.ImageThumbnails.DataContext = thumbnailListFromJSON;
现在,如果您的列表是ObservableCollection,那么对列表的任何更改都将自动反映在您的UI中.
(上面的代码应该被视为伪代码 - 显然你将不得不改变它以反映你的数据结构)
编辑:将ScrollViewer.HorizontalScrollBarVisibility ="Disabled"添加到ListBox.这很重要,因为它会阻止滚动查看器在水平方向上无限扩展.如果没有这个WrapPanel就会成为1行列表框.