Estas clases nos permitirán seleccionar una foto desde nuestra librería de medios o tomar una nueva foto respectivamente.
A continuación un ejemplo muy sencillo de como usarlos para mostrar la foto seleccionada o capturada en un elemento Image.
Paso 1
Definir el XAML del elemento Image y los botones de la barra de la aplicación.
    <Grid x:Name="LayoutRoot" Background="Transparent">
        <Grid x:Name="ContentPanel">
            <Image x:Name="image"/>
        </Grid>
    </Grid>
    <phone:PhoneApplicationPage.ApplicationBar>
        <shell:ApplicationBar>
            <shell:ApplicationBar.Buttons>
                <shell:ApplicationBarIconButton IconUri="/Assets/AppBar/folder.png" Text="select photo" Click="SelectPhotoIconButton_Click"/>
                <shell:ApplicationBarIconButton IconUri="/Assets/AppBar/feature.camera.png" Text="take photo" Click="TakePhotoIconButton_Click"/>
            </shell:ApplicationBar.Buttons>
        </shell:ApplicationBar>
    </phone:PhoneApplicationPage.ApplicationBar>
Paso 2
En el code-behind manejamos los eventos de los ApplicationBarIconButton de la siguiente manera.
        private void SelectPhotoIconButton_Click(object sender, EventArgs e)
        {
            var photoChooserTask = new PhotoChooserTask();
            photoChooserTask.ShowCamera = true;
            photoChooserTask.Completed += photoChooserTask_Completed;
            photoChooserTask.Show();
        }
        private void TakePhotoIconButton_Click(object sender, EventArgs e)
        {
            var cameraCaptureTask = new CameraCaptureTask();
            cameraCaptureTask.Completed += photoChooserTask_Completed;
            cameraCaptureTask.Show();
        }
        private void photoChooserTask_Completed(object sender, PhotoResult e)
        {
            if(e.TaskResult == TaskResult.OK)
            {
                var bitmapImage = new BitmapImage();
                bitmapImage.SetSource(e.ChosenPhoto);
                this.image.Source = bitmapImage;
            }
        }
Y ya esta todo, no olvidarse de activar el ID_CAP_ISV_CAMERA en Capabilites del WMAppManifest.xml.
 
 
 
 
 
 
 
 
 
 
 

No hay comentarios.:
Publicar un comentario