Сдвиг изображений в Windows Phone 7 с помощью пролистывания или пролистывания - PullRequest
1 голос
/ 26 мая 2011

Итак, я просмотрел это и нашел пару решений, которые я пока не могу протестировать. Позвольте мне объяснить.

Я пытаюсь выяснить, как закодировать программу, в которой у меня есть массив изображений, где одновременно отображается только одно изображение, но соседние изображения предварительно загружены, но не видны. После каждого пролистывания текущее изображение анимируется в видимой области, а соседние изображения обновляются, но не видны до следующего пролистывания в любом направлении. Я только хочу иметь 3 «коробки» (если хотите), состоящих из изображения слева, текущего изображения на экране и изображения справа. При вращении вправо текущее изображение становится левым, изображение справа становится текущим, а следующее изображение предварительно загружено, но не отображается.

Пример:

Первое изображение, которое вы видите, когда приложение загружено. По сути, это первое изображение в массиве. Назовите это (Изображение 1).

Вы не можете щелкнуть влево, поскольку там нет изображения. Но изображение справа от него (пока не видно) уже предварительно загружено и готово к скольжению при регистрации движения. (изображение 2)

Таким образом, если мы щелкнем вправо, изображение 1 будет слева от теперь видимого и центрированного изображения 2. Изображение 3 теперь справа, не видно, но предварительно загружено. Изображение 1 теперь слева, не видно, но предварительно загружено.

Сейчас я хочу предварительно загрузить только 2 вещи, так что вы можете представить себе 3 слота. Один слот - это левая картинка. Один слот является текущим видом, а один слот справа.

Идея состоит в том, чтобы иметь возможность иметь карусель изображений, но только с предварительной загрузкой изображений слева и справа от текущего вида.

Я посмотрел на возможное создание списка. Дело в том, что я просто не могу закодировать анимацию в c #.

Я не хочу, чтобы вы кодировали это для меня, но чтобы указать мне правильное направление.

1 Ответ

4 голосов
/ 26 мая 2011

Вы можете использовать элемент управления Pivot для этого, он работает точно так, как вы хотите, за исключением того, что он делает цикл вокруг начала списка.

Вы можете просто создавать динамические элементы Pivot на лету, у меня естьСделайте это, и это сработает.

РЕДАКТИРОВАТЬ

Пример кода:

PivotItem p = new PivotItem();
Image i = new Image();
i.Source = new BitmapImage(new Uri("/image.jpg", UriKind.Relative));
p.Content = i;
MainPivot.Items.Add(p);

Предполагая, что MainPivot является вашим Pivot, по вашему мнению, еслиу вас его нет, просто создайте новый экземпляр и добавьте его в свою сцену.

...