WPF, Dispatcher oraz Progressbar

0

Hej, mam taki dziwny problem... odpalam następująca metode:

 
public void MakeClones()
        {
            Class1 cd;
            double suma = 0.0;
            double faktor = 0.0;
            double faktor2 = 0.0;

            for (int z = 0; z < Convert.ToInt32(textBox3.Text); z++)
            {
                PBar.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Background, new NextPrimeDelegate(this.updatepbar), z);

                for (int i = 0; i < Convert.ToInt32(textBox2.Text); i++)
                {
                    suma = suma + Populacja[i].rating;
                }
                for (int i = 0; i < 20; i++)
                {
                    faktor += Populacja[i].rating / (suma * 20);
                    for (int y = 1; y < 21 - i; y++)
                    {
                        cd = (Class1)CopyEverything.Copy(Populacja[i]);
                        cd.MakeClone();
                        cd.DoThings(faktor2, faktor);
                        Populacja.Add(cd);
                    }
                    faktor2 = faktor;


                }
                Populacja.Sort(_comparer);
                Najlepsi.Add(Populacja[0]);
                Populacja.RemoveRange(99, Populacja.Count() - 99);
                z++;
            }


        }

ProgressBar nie chce sie zupdateować dopóki całość się nie zakończy, ale jak dam po PBar.Dispatcher... MessageBox.Show(""); to sie updatuje ładnie, dlaczego?

0

A czy to nie jest tak, że pętla jest krótka (lub szybko się wykonuje) i po prostu nie widzisz jak się zmienia progressbar? spróbuj zamienić BeginInvoke z Invoke i zobacz czy wciąż masz to samo.

1 użytkowników online, w tym zalogowanych: 0, gości: 1