nature_net.user_controls.collection_listbox.progress_changed C# (CSharp) Метод

progress_changed() публичный Метод

public progress_changed ( object sender, ProgressChangedEventArgs e ) : void
sender object
e System.ComponentModel.ProgressChangedEventArgs
Результат void
        void progress_changed(object sender, ProgressChangedEventArgs e)
        {
            this.contributions._list.Items.Dispatcher.BeginInvoke(DispatcherPriority.Normal,
               new System.Action(() =>
               {
                   try
                   {
                       loading_progress progress = (loading_progress)e.UserState;
                       //collection_listbox_item cli = (collection_listbox_item)this.contributions._list.Items[this.contributions._list.Items.Count - 1];
                       string progress_text = " (loading " + (e.ProgressPercentage).ToString() + " of " + progress.total + ")";
                       string[] title = this.parent.get_title().Split(new string[] { " (" }, StringSplitOptions.RemoveEmptyEntries);
                       this.parent.set_title(title[0] + progress_text);

                       if (progress.current_progress == 0)
                       {
                           this.contributions._list.Items.Clear();
                           for (int counter = 0; counter < progress.total; counter++)
                           {
                               collection_listbox_item c = new collection_listbox_item();
                               c.img.Source = configurations.img_loading_image_pic;
                               //c.img.GifSource = configurations.GetAbsoluteImagePath() + "loading1.gif";
                               c.img.Tag = null;
                               //c.percentage.Visibility = System.Windows.Visibility.Collapsed;
                               //c.percentage.Text = (e.ProgressPercentage).ToString() + " of " + progress.total + " contribution(s) downloaded.";
                               c.drag.Visibility = System.Windows.Visibility.Collapsed;
                               this.contributions._list.Items.Add(c);
                           }
                       }
                       else
                       {
                           ////load the item
                           collection_item i = progress.loaded_items[progress.current_progress - 1];
                           collection_listbox_item cli2 = new collection_listbox_item();

                           //Image img = new Image();
                           if (window_manager.thumbnails.ContainsKey(i._contribution.id))
                           {
                               cli2.img.Source = window_manager.thumbnails[i._contribution.id];
                               cli2.img.Tag = i;
                               cli2.drag.Source = configurations.img_drag_icon;
                           }
                           else
                           {
                               cli2.img.Source = configurations.img_not_found_image_pic;
                               cli2.img.Tag = null;
                           }
                           this.contributions._list.Items.RemoveAt(progress.current_progress - 1);
                           this.contributions._list.Items.Insert(progress.current_progress - 1, cli2);
                       }

                       this.contributions._list.Items.Refresh();
                   }
                   catch (Exception) { }
               }));
        }