public static async Task <MediaFile> PickImage(PictureSelectionMode selectionMode) { bool permissionGranted = await AskPermissions(); if (!permissionGranted) { await DisplayAlert("Missing Permissions", "Some permissions are missing"); return(null); } await CrossMedia.Current.Initialize(); if (selectionMode == PictureSelectionMode.PICK_FROM_GALLERY) { if (!CrossMedia.Current.IsPickPhotoSupported) { await DisplayAlert("Error", "No media available"); return(null); } return(await CrossMedia.Current.PickPhotoAsync(new PickMediaOptions() { PhotoSize = PhotoSize.Small, })); } if (selectionMode == PictureSelectionMode.PICK_FROM_CAMERA) { if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.IsTakePhotoSupported) { await DisplayAlert("Error", "No media available"); return(null); } return(await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions { Directory = "Sample", Name = "test.jpg", PhotoSize = PhotoSize.Small, })); } return(null); }
public void Select(PictureSelectionMode selectionMode) { foreach (Control control in this.Controls) { PictureViewBox pvb = (PictureViewBox)control; switch (selectionMode) { case PictureSelectionMode.All: pvb.Select(true); break; case PictureSelectionMode.Inverse: pvb.Select(!pvb.IsSelected); break; case PictureSelectionMode.None: pvb.Select(false); break; } } }