Как динамически добавить элемент сводки и добавить изображение к каждому элементу сводки? - PullRequest
1 голос
/ 29 декабря 2010

У меня есть массив URL-адресов изображений. Я хочу динамически добавлять элемент Pivot для каждого URL-адреса изображения и добавлять поле изображения к каждому элементу Pivot для отображения изображения.Пожалуйста, помогите.

Спасибо и С уважением

Vaysage

Ответы [ 2 ]

6 голосов
/ 10 января 2011

Это не рекомендуемый подход. Вместо этого используйте привязку данных.

сделать arrayFeed типа ObservableCollection<Uri>, присвоить его ItemsSource из mainPivot и использовать ItemTemplate для настройки пользовательского интерфейса.

Пример:

Код:

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

XAML:

<Pivot Name="mainPivot">
    <Pivot.ItemTemplate>
        <DataTemplate>
            <Image Source="{Binding}" />
        </DataTemplate>
    </Pivot.ItemTemplate>
</Pivot>

- EDIT -

За ваш комментарий,

Обычно рекомендуется использовать ObservableCollection при привязке данных в Silverlight / WPF. ObservableCollection реализует INotifyCollectionChanged интерфейс. Это полезно для уведомления элементов UI при добавлении / удалении элементов из ObservableCollection. Таким образом, UI может обновить себя.

6 голосов
/ 10 января 2011

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);          
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...