public void OpenImages(object obj)
        {
            try
            {
                Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog
                {
                    Multiselect = true,
                };
                bool? result = dlg.ShowDialog();
                if (result != true)
                    return;

                var filenames = dlg.FileNames;

                ImagesList.Clear();

                var imageLoader = new ImageLoader();
                ImagesList.AddRange(imageLoader.LoadImages(filenames.ToList()));

                CurrentImageNumber = 0;

                NextImage(obj);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.StackTrace);
            }
        }
        public void OpenPdf(object obj)
        {
            try
            {
                if (!Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86) + @"\gs") &&
                    !Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + @"\gs"))
                {
                    MessageBox.Show("Missing Ghost Script");
                    return;
                }

                var path = OpenPdfFileDialog();
                if (string.IsNullOrEmpty(path))
                    return;

                var fileNames = _converter.PathToConvertedImages(path);
                ImagesList.Clear();

                var imageLoader = new ImageLoader();
                ImagesList.AddRange(imageLoader.LoadImages(fileNames.ToList()));

                NextImage(obj);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.StackTrace);
            }
        }
        void IDropTarget.Drop(IDropInfo dropInfo)
        {
            var dragFileList = ((DataObject)dropInfo.Data).GetFileDropList().Cast<string>();
            dropInfo.Effects = DragDropEffects.Copy;

            var fileList = dragFileList as string[] ?? dragFileList.ToArray();
            var fi = new FileInfo(fileList[0]);
            if (fi.Extension == ".pdf")
            {
                if (!Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86) + @"\gs") &&
                    !Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + @"\gs"))
                {
                    MessageBox.Show("Missing Ghost Script");
                    return;
                }

                var fileNames = _converter.PathToConvertedImages(fileList[0]);
                ImagesList.Clear();

                var loader = new ImageLoader();
                ImagesList.AddRange(loader.LoadImages(fileNames.ToList()));

                NextImage(null);

                return;
            }
            var imageLoader = new ImageLoader();
            ImagesList.Clear();
            ImagesList.AddRange(imageLoader.LoadImages(fileList.ToList()));
            NextImage(null);
        }