ElementHostをWindowsフォームに追加しました(フォームには他にもいくつかのc#コードがあります)。次に、「多くのUIコンポーネントがこれを必要とするため、呼び出し元のスレッドはSTAである必要があります」というエラーが表示されました。スレッドをSTAに変更しましたが、他のものをブロックしました...他のコードに触れることなくelementhostを機能させる方法はありますか?
これが私がスレッドを変更する方法のコードです:
public UCClientSummary()
{
InitializeComponent();
Thread thread = new Thread(createElementHost);
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
thread.Join();
}
public void createElementHost()
{
ElementHost elementHost = new ElementHost();
elementHost.Dock = DockStyle.Fill;
LDControls.ucCell uc = new LDControls.ucCell();
elementHost.Child = uc;
this.Controls.Add(elementHost);
}