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