сначала я должен сказать, что я нуб с WPF и C #.
Приложение: создание образа Мандельброта (GUI)
Мой диспетчер отлично работает в этом случае:
private void progressBarRefresh(){
while ((con.Progress) < 99)
{
progressBar1.Dispatcher.Invoke(DispatcherPriority.Send, new Action(delegate
{
progressBar1.Value = con.Progress;
}
));
}
}
Я получаю сообщение (название), когда пытаюсь сделать это с кодом ниже:
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 не отвечает) для расчета пикселей и цветов. В этой теме (метод) я использую Dispatcher для обновления моего изображения во ViewBox после завершения расчетов.
Когда я не помещаю вычисления в отдельный поток, тогда я могу обновить или построить свой образ.