2012-05-15 3 views

ответ

2

Вот основной и примерный пример стрельбы из задачи нажатием кнопки.

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

Вам нужно будет refercne в taskt с помощью

using Microsoft.Phone.Tasks; 

, а затем использовать код следующим

public MainPage() 
    { 
    InitializeComponent(); 
     photoChooserTask = new PhotoChooserTask(); 
     photoChooserTask.Completed += new EventHandler<PhotoResult>(photoChooserTask_Completed); 
     } 
     private void photochooserbtn_Click(object sender, RoutedEventArgs e) 
     { 
     photoChooserTask.Show(); 
     } 
     void photoChooserTask_Completed(object sender, PhotoResult e) 
     { 
     if (e.TaskResult == TaskResult.OK) 
     { 
     System.Windows.Media.Imaging.BitmapImage bmp =new  System.Windows.Media.Imaging.BitmapImage(); 
     bmp.SetSource(e.ChosenPhoto); 
     imagecontrol.Source = bmp; 
     } 
     } 
+0

спасибо, но у меня есть список изображений, и мне нужно их увидеть – revolutionkpi

+2

Извините, я думал, что вы хотите получить временные изображения, сохраненные на устройстве. Ответ Shawn Kendrot должен соответствовать тому, что вы хотите сделать, поскольку задача выбора фотографий не то, что вам нужно. –

+0

Почему у них так сложно найти такую ​​информацию ...? Я гулял по часам, без успеха – Toadums

0

Вы не можете использовать PhotoChooserTask для непосредственного просмотра изображений, добавленных в проект (как контент) ... для этого вам нужно будет сохранить изображения в Библиотеке изображений (используя класс MediaLibrary) перед запуском PhotoChooserTask!

+0

спасибо, вы можете дать мне пример с исходниками горячим, чтобы отобразить список изображений из MediaLibrary с помощью PhotoChooserTask? – revolutionkpi

+0

Вот что я имел в виду: PhotoChooserTask показывает фотографии * только из MediaLibrary, так что вы получаете «бесплатно»! –

1

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

<ListBox ItemsSource="{Binding Images}"> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <Image Source="{Binding}" Width="200"/> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

Это предполагает, что в контексте данных вашей страницы есть свойство «Изображение»

public IEnumerable<Uri> Images { get; set; } 

И что вы заселять эту собственность, как, например:

Images = new List<Uri> 
    { 
     new Uri("Images/image1.png", UriKind.Relative), 
     new Uri("Images/image2.png", UriKind.Relative), 
     new Uri("Images/image3.png", UriKind.Relative), 
     new Uri("Images/image4.png", UriKind.Relative) 
    }; 

Это предполагает, что вы поместили изображения под папкой «Изображение» в проекте и сборка Действие установлено на Содержимое

Вышеупомянутое решение предоставит вам вертикальный список изображений. Если вы хотите, чтобы сделать его немного лучше, чем использовать WP7 Toolkit и изменить ItemsPanel в ListBox, чтобы быть WrapPanel

<ListBox.ItemsPanel> 
     <ItemsPanelTemplate> 
      <toolkit:WrapPanel/> 
     </ItemsPanelTemplate> 
    </ListBox.ItemsPanel> 
Смежные вопросы