primero Tengo que decir que soy novato con WPF y C#. Aplicación: Crear Mandelbrot Imagen (GUI) Mi despachador funciona perfectamente este caso:WPF Dispatcher {"El hilo que llama no puede acceder a este objeto porque lo posee un hilo diferente."}
private void progressBarRefresh(){
while ((con.Progress) < 99)
{
progressBar1.Dispatcher.Invoke(DispatcherPriority.Send, new Action(delegate
{
progressBar1.Value = con.Progress;
}
));
}
}
consigo el mensaje (título) cuando Tring para hacer esto con el código de abajo:
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
}
));
I trataré de explicar cómo funciona mi programa. Creé un nuevo subproceso (porque la GUI no responde) para el cálculo de los píxeles y los colores. En este subproceso (método) estoy usando el despachador para actualizar mi imagen en el ViewBox después de que los cálculos estén listos.
Cuando no coloco el cálculo en un subproceso separado, entonces puedo actualizar o crear mi imagen.
No es necesario crear la imagen en el hilo de la interfaz de usuario. Simplemente no puede usarlo de un hilo mientras está siendo modificado en otro (y .NET asume que a menos que lo marque * frozen *, se modificará de nuevo). –