>>890
全然別なのか・・ありがとうございます

また別の質問なのですが、Invokeをしたつもりが
「このオブジェクトは別のスレッドに〜」と同じ例外が発生してしまいました

process.ErrorDataReceived += (a, b) => {
Inline inline = new Run(b.Data.Trim());
inline.Foreground = new SolidColorBrush(Colors.Red);
this.Dispatcher.Invoke(() => {
Paragraph paragraph = new Paragraph();
paragraph.Inlines.Add(inline); // ここで例外発生
paragraph.Margin = new Thickness(0, 0, 0, 0);
this.rTextBox.Document.Blocks.Add(paragraph);
});
};

ところが、System.Windows.Documents.RunのインスタンスをInvokeの中で作成すると例外が発生しません。
process.ErrorDataReceived += (a, b) => {
this.Dispatcher.Invoke(() => {
Inline inline = new Run(b.Data.Trim());//この二行をInvokeの中に移動
inline.Foreground = new SolidColorBrush(Colors.Red);
Paragraph paragraph = new Paragraph();
〜略

System.Windows.Documents.Run型をUIスレッドの中で作成しないといけないっぽいのですが
こういう情報はどこで判断すればいいのでしょうか。エラーが出るまで気がつかないのでつらい