Сначала мне нужно сказать, что я noob с WPF и С#. Приложение: Создайте изображение Мандельброта (GUI) Мой диспетчер отлично работает в этом случае:
private void progressBarRefresh(){
while ((con.Progress) < 99)
{
progressBar1.Dispatcher.Invoke(DispatcherPriority.Send, new Action(delegate
{
progressBar1.Value = con.Progress;
}
));
}
}
Я получаю сообщение (заголовок), когда tring делает это с помощью приведенного ниже кода:
bmp = BitmapSource.Create(width, height, 96, 96, pf, null, rawImage, stride);
this.Dispatcher.Invoke(DispatcherPriority.Send, new Action(delegate
{
img.Source = bmp;
ViewBox.Child = img; //vllt am schluss
}
));
Я попытаюсь объяснить, как работает моя программа. Я создал новую тему (потому что GUI не отвечает) для вычисления пикселей и цветов. В этой теме (методе) я использую диспетчер для обновления моего изображения в ViewBox после того, как вычисления будут готовы.
Когда я не ставил вычисления в отдельный поток, я могу обновить или создать свое изображение.