示例#1
0
        public ImageViewModel TryLoadImage()
        {
            OpenFileDialog fileDialog = new OpenFileDialog()
                                        {
                                            CheckFileExists = true,
                                            CheckPathExists = true,
                                            Multiselect = true,
                                            Filter = "JPG Files (*.jpg)|*.jpg|JPEG Files (*.jpeg)|*.jpeg|PNG Files (*.png)|*.png"
            };

            Func<string, bool> isValidFile = file =>
                                             {
                                                 string[] extensions =
                                                 {
                                                     ".jpg",
                                                     ".png",
                                                     ".jpeg"
                                                 };

                                                 string ext = Path.GetExtension(file);
                                                 return extensions.Contains(ext);
                                             };

            fileDialog.FileOk += (sender, args) =>
                                 {
                                     if (!fileDialog.FileNames.All(isValidFile))
                                         args.Cancel = true;
                                 };

            bool? dialogResult = fileDialog.ShowDialog();
            if (dialogResult.HasValue && dialogResult.Value)
            {
                try
                {
                    Stream[] files = fileDialog.OpenFiles();
                    for (int i = 0; i < fileDialog.FileNames.Length; i++)
                    {
                        string filePath = fileDialog.FileNames[i];
                        Stream file = files[i];
                        byte[] fileData = null;

                        using (var stream = new MemoryStream())
                        {
                            file.CopyTo(stream);
                            fileData = stream.ToArray();
                        }

                        ImageViewModel viewModel = new ImageViewModel(0, Path.GetFileName(filePath), fileData);

                        return viewModel;
                    }
                }
                catch (Exception ex)
                {
                }
            }

            return null;
        }
        /// <summary>
        /// Adds the items.
        /// </summary>
        /// <param name="files">The files.</param>
        private void AddItems(OpenFileDialog files)
        {
            Stream[] fileStreams = files.OpenFiles();
            for (int index = 0; index < files.FileNames.Length; index++)
            {
                Gallery gallery = ((Gallery)galleryListBox.SelectedItem);

                ClientImage image = new ClientImage
                                        {
                                            ImageName = TruncatePath(files.FileNames[index]),
                                            GalleryName = gallery.Name,
                                            GalleryId = gallery.GalleryID,
                                            PhotoBytes = GetByteArrayFromStream(fileStreams[index])

                                         };

                uploadListBox.Items.Add(image);
            }
        }
示例#3
0
        private void OpenFile_Click(object sender, RoutedEventArgs e)
        {
            filePath.Clear(); textBox_Files.Text = "";

            StringBuilder sb = new StringBuilder();
            OpenFileDialog dialog = new OpenFileDialog();

            dialog.Multiselect = true;
            dialog.Filter = "Text Files (.txt)|*.txt";
            dialog.ShowDialog();

            if (dialog.OpenFiles() != null)
            {
                filePath.AddRange(dialog.FileNames);
                sb.AppendLine("(" + filePath.Count + "шт.) ");

                for (int i = 0; i < filePath.Count; i++)
                {
                    sb.AppendLine(System.IO.Path.GetFileName(filePath[i]));
                }

                textBox_Files.Text = sb.ToString();
            }
        }
示例#4
0
 public Stream[] OpenFiles()
 {
     return(mInnerDialog.OpenFiles());
 }
        private void AddPatterns()
        {
            OpenFileDialog fileDialog = new OpenFileDialog()
            {
                CheckFileExists = true,
                CheckPathExists = true,
                Multiselect = true,
                Filter = "JPEG Files (*.jpeg)|*.jpeg|PNG Files (*.png)|*.png|JPG Files (*.jpg)|*.jpg"
            };

            Func<string, bool> isValidFile = file =>
            {
                string[] extensions =
                {
                    ".png",
                    ".jpeg",
                    ".jpg"
                };

                string ext = Path.GetExtension(file);
                return extensions.Contains(ext);
            };

            fileDialog.FileOk += (sender, args) =>
            {
                if (!fileDialog.FileNames.All(isValidFile))
                    args.Cancel = true;
            };

            bool? dialogResult = fileDialog.ShowDialog();
            if (dialogResult.HasValue && dialogResult.Value)
            {
                try
                {
                    Stream[] files = fileDialog.OpenFiles();
                    for (int i = 0; i < fileDialog.FileNames.Length; i++)
                    {
                        string filePath = fileDialog.FileNames[i];
                        Stream file = files[i];
                        byte[] fileData = null;

                        using (var stream = new MemoryStream())
                        {
                            file.CopyTo(stream);
                            fileData = stream.ToArray();
                        }

                        CheckablePatternDataViewModel viewModel = new PatternDataViewModel(Path.GetFileName(filePath), Pattern.PatternType, fileData)
                            .ToCheckable(ItemState.Added);

                        Children.Add(viewModel);
                    }
                }
                catch (Exception ex)
                {
                }

                CheckItem();
            }
        }