まず、私は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が応答しないため)。このスレッド(メソッド)では、計算の準備ができた後、ディスパッチャーを使用してビューボックスの画像を更新しています。
計算を別のスレッドに入れない場合は、イメージを更新またはビルドできます。