Windows Phone 7, предпочитая пункт панорамы - PullRequest
2 голосов
/ 19 июня 2011

Есть ли способ запрограммировать, чтобы показать, что выбранный элемент панорамы находится на экране, и если да, каково его свойство содержимого?

У меня есть три элемента панорамы (1, 2, 3), и у каждого есть один прямоугольник с изображением прямоугольника.

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

Это вообще возможно сделать? Я думаю, что selectedindexitem или что-то подобное скажет мне, какой ток сейчас на экране, но если так, как я могу получить информацию о rectangle.fill?

1 Ответ

1 голос
/ 19 июня 2011

pano.SelectedItem предоставит вам ссылку на текущий отображаемый PanoramaItem, и вы можете получить ссылку на корневой объект его визуального дерева, просто вызвав pano.SelectedItem.Content соответствующим образом.

В руководстве по стилю конкретно сказано не использовать панель приложений в приложениях Panorama или Pivot.Поскольку вы не можете использовать панель приложения, я предлагаю использовать сетку, содержащую прямоугольник и кнопку.

Предположительно, у вас есть код, заполняющий ваши прямоугольники изображениями;когда вы делаете это, вы также должны заполнить поиск, чтобы вы могли использовать panoItem, чтобы получить то, что вы ищете.Если бы вы показывали XAML для своей страницы, я мог бы быть более конкретным с моим советом.

Предполагается, что вы загружаете эти изображения из файловой системы, а переменная filePath в настоящее время содержит путь к файлу, который вы только что загрузили вPano Item PanoItem, тогда ваш код должен выглядеть примерно так:

//lookup
Dictionary<PanoramaItem, string> _panoPicPath = new Dictionary<PanoramaItem, string>();
...
//populate lookup
_panoPicPath[panoItem] = filePath;
...
//fetch filePath for selected 
string selectedFilePath = _panoPicPath[pano.SelectedItem];
...