如何动态添加枢轴项并将图像添加到每个枢轴项?

时间:2010-12-29 05:33:29

标签: silverlight xaml windows-phone-7

我有一个图像URL的数组。我想为每个图像Url动态添加数据项,并为每个数据透视表项添加一个图像框以显示图像。如何继续?请帮忙。

谢谢和问候

vaysage

2 个答案:

答案 0 :(得分:6)

Atlast我找到了解决方案。 在数组中创建所有图像URL(arrayFeed),并执行以下操作。

 for (int i = 0; i < arrayFeed.Count - 1; i++)
 {
      PivotItem pivotItem = new PivotItem();
      pivotItem.Header = i.ToString();
      Grid grid = new Grid();                
      Image img = new Image();
      img.Source = new BitmapImage(new Uri((arrayFeed[i]));          
      grid.Children.Add(img); 
      pivotItem.Content = grid;         
      mainPivot.Items.Add(pivotItem);          
 }

答案 1 :(得分:6)

这不是推荐的方法。改为使用数据绑定。

制作arrayFeed类型的ObservableCollection<Uri>,将其分配给ItemsSource的{​​{1}}并使用mainPivot自定义您的商品用户界面。

实施例

代码:

ItemTemplate

XAML:

ObservableCollection<Uri> arrayFeed = new ObservableCollection<Uri>();
// populate arrayField
mainPivot.ItemsSource = arrayFeed;

- 编辑 -

征求意见,

通常,在<Pivot Name="mainPivot"> <Pivot.ItemTemplate> <DataTemplate> <Image Source="{Binding}" /> </DataTemplate> </Pivot.ItemTemplate> </Pivot> / ObservableCollection中使用数据绑定时Silverlight是个好主意。 WPF实现ObservableCollection接口。无论何时向INotifyCollectionChanged添加/删除项目,都可以通知UI元素。这样ObservableCollection可以自行更新。