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