私はWPFに比較的慣れていません。私は次のようなコードを調べています:
private void button_Click(object sender, RoutedEventArgs e)
{
//Queue on dispatcher in the background so it doesn't make the UI slow
Dispatcher.BeginInvoke(new dMyDelegate(PerformOperation), DispatcherPriority.Background);
}
コメントから、元のコードはUIの応答性を高めるためにこれが必要であると感じたと思いますが、私の理解では、Dispatcher.BeginInvokeはUIスレッドで何かを実行するだけです。buttn_ClickはすでにUIスレッド上にあるので、ポイントは何ですか?おそらく、私はDispatcherとBeginInvokeを誤解しています。この場合のDispatcherは、このメソッドが含まれるクラスであるMainWindow.xamlが所有するディスパッチャーであると想定しています。誰かが私を啓発できますか?
ありがとう