コード例 #1
0
        async void ImageCell_Tapped(System.Object sender, System.EventArgs e)
        {
            var status = await Permissions.RequestAsync <Permissions.Photos>();

            if (status == PermissionStatus.Granted)
            {
                var mediaOptions = new Plugin.Media.Abstractions.PickMediaOptions
                {
                    PhotoSize = Plugin.Media.Abstractions.PhotoSize.Medium
                };

                var file = await CrossMedia.Current.PickPhotoAsync(mediaOptions);

                if (file != null)
                {
                    var vm = BindingContext as EditCountdownViewModel;

                    byte[] bytes  = null;
                    var    stream = file.GetStream();
                    bytes = new byte[stream.Length];
                    stream.Read(bytes, 0, (int)stream.Length);
                    stream.Seek(0, System.IO.SeekOrigin.Begin);
                    ViewModel.ImageBytes = bytes;
                }
            }
        }
コード例 #2
0
        private async void IconImageSelect(object _, EventArgs e)
        {
            await CrossMedia.Current.Initialize();

            var mediaOptions = new Plugin.Media.Abstractions.PickMediaOptions()
            {
                PhotoSize = Plugin.Media.Abstractions.PhotoSize.Small,
            };
            var selectedImageFile = await CrossMedia.Current.PickPhotoAsync(mediaOptions);

            if (selectedImageFile == null)
            {
                return;
            }

            if (type == "Main Menu")
            {
                Variables.Variables.Layout[masterMenuSelected].IconPath = selectedImageFile.Path;
            }
            else
            {
                Variables.Variables.Layout[masterMenuSelected].BottomMenuItems[bottomMenuSelected].IconPath = selectedImageFile.Path;
            }

            LoadMasterStack();
            LoadBottomStack();
        }
コード例 #3
0
        private async void BackgroundImageSelect(object _, EventArgs e)
        {
            await CrossMedia.Current.Initialize();

            var mediaOptions = new Plugin.Media.Abstractions.PickMediaOptions()
            {
                PhotoSize = Plugin.Media.Abstractions.PhotoSize.Full,
            };
            var selectedImageFile = await CrossMedia.Current.PickPhotoAsync(mediaOptions);

            if (selectedImageFile == null)
            {
                return;
            }

            Variables.Variables.Layout[masterMenuSelected].BottomMenuItems[bottomMenuSelected].BackgroundImageSource = selectedImageFile.Path;
        }
コード例 #4
0
        public async void AttachmentsTapGesture_Tapped(object sender, EventArgs e)
        {
            XamlAttachmentsFrm.IsVisible = true;
            await Plugin.Media.CrossMedia.Current.Initialize();

            var mediaOption = new Plugin.Media.Abstractions.PickMediaOptions()
            {
                PhotoSize = Plugin.Media.Abstractions.PhotoSize.Small
            };
            var selectedImage = await Plugin.Media.CrossMedia.Current.PickPhotosAsync(mediaOption);

            var storageStatus = await Plugin
                                .Permissions.CrossPermissions.Current
                                .CheckPermissionStatusAsync <Plugin.Permissions.StoragePermission>();

            if (storageStatus == Plugin.Permissions.Abstractions.PermissionStatus.Granted && selectedImage != null)
            {
                if (AttachmentsImages == null)
                {
                    AttachmentsImages = selectedImage;
                }
                else
                {
                    AttachmentsImages.AddRange(selectedImage);
                }
                foreach (var item in selectedImage)
                {
                    Attachments.Add(new AttachmentsViewModel
                    {
                        AttachmentsDate = DateTime.UtcNow.ToString(),
                        AttachmentsLink = System.IO.Path.GetFileName(item.Path),
                        // AttachmentsUsername=Application.Current.Properties["UserName"].ToString(),
                        AttachmentsUsername = "******",
                        FullUrl1            = item.Path
                    });
                }
            }
        }