Exemplo n.º 1
0
 private void AddImageToBrowser(ImageBrowserPreview io)
 {
     this.listImages.Items.Add(io);
 }
Exemplo n.º 2
0
        private void ThreadPopulateImageBrowser(Object pathObject)
        {
            Monitor.Enter(imageBrowserLock);

            string path = pathObject.ToString();

            System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(path);

            string[] filters = { "*.jpg", "*.jpeg", "*.png", "*.bmp" };

            for (int i = 0; i < filters.Length; i++)
            {
                System.IO.FileInfo[] files = dir.GetFiles(filters[i]);

                foreach (System.IO.FileInfo file in files)
                {
                    ImageBrowserPreview io = new ImageBrowserPreview();
                    io.FilePath = file.FullName;

                    BitmapImage bi = new BitmapImage();
                    bi.BeginInit();
                    bi.DecodePixelWidth = 80;
                    bi.CacheOption = BitmapCacheOption.OnLoad;
                    bi.UriSource = new Uri(file.FullName);
                    bi.EndInit();
                    bi.Freeze();

                    io.Thumbnail = bi;

                    if (stopImageBrowserPopulation == true)
                    {
                        Monitor.Exit(imageBrowserLock);
                        return;
                    }

                    AddImageToBrowserHandler addImageHandler = new AddImageToBrowserHandler(AddImageToBrowser);
                    this.Dispatcher.BeginInvoke(addImageHandler, io);
                }
            }

            Monitor.Exit(imageBrowserLock);
        }