using System;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Tasks;
using System.Windows.Media.Imaging;

namespace PhotoChooserTask
{
    public partial class MainPage : PhoneApplicationPage
    {
        // Instanzierung des PhotoChooserTask
        Microsoft.Phone.Tasks.PhotoChooserTask myPhotoChooserTask = new Microsoft.Phone.Tasks.PhotoChooserTask();

        // Hauptkonstruktor
        public MainPage()
        {
            InitializeComponent();

            // Hinzufuegen des Completed Ereignisses
            myPhotoChooserTask.Completed += new EventHandler<PhotoResult>(myPhotoChooserTask_Completed);
            // Kamerea nicht als Auswahl anzeigen
            myPhotoChooserTask.ShowCamera = false;
            // Ausgewähltes Bild auf angegebene Groesse trimmen
            myPhotoChooserTask.PixelHeight = 400;
            myPhotoChooserTask.PixelWidth = 200;
        }

        // Ereignismethode der Schaltfläche
        private void button1_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            // Aufrufen der Bildauswahl vom Betriebssystem Windows Phone 7
            myPhotoChooserTask.Show();
        }

        // Ereignismethode des Completed Ereignisses
        void myPhotoChooserTask_Completed(object sender, PhotoResult e)
        {
            // Pruefen, ob Task korrekt beendet wurde
            if (e.TaskResult == TaskResult.OK)
            {
                // Erzeugen eines Bild anhand des Bilderstreams vom PhotoResult
                BitmapImage bmp = new BitmapImage();
                bmp.SetSource(e.ChosenPhoto);

                // Bilder dem Image Element zuweisen
                image1.Source = bmp;
            }
        }  
    }
}