1

WPF の STA スレッドに少し問題があります。

私は次のことを行います:

Dispatcher.BeginInvoke(new Action(CreateAndShow), null);

CreateAndShow を使用すると、次のようになります。

_mainWindow = new PresentWindow();
// not really important what happens in the next lines, the error is before this
AddPerspectives(); 
MainWindow = _mainWindow;
MainWindow.Show();

ここで、PresentWindow コンストラクターが開始する行で、呼び出し元のスレッドが STA スレッドである必要があることを示す例外が発生します。

PresentWindow を作成する直前にブレーク ポイントを挿入しました。現在のスレッドの AppartmentState は STA です。別のポイントから CreateAndShow を呼び出すと (呼び出しは行わずに、まったく同じ STA スレッドで直接)、完全に正常に動作します。

これには非常に簡単な説明があると確信していますが、見つけられません。誰か助けてくれませんか?

ありがとう!

4

0 に答える 0