Ich bin ein Neuling für WPF und habe ein paar Fragen über WPF und Windows Forms Integration.WPF mit Windows Forms - STAThread
Ich habe eine bestehende Visual C# Windows Forms-Anwendung. Ich möchte es in ein WPF-Fenster integrieren, das auf Knopfdruck angezeigt werden kann. Dies war nicht möglich, da WPF erwartet, dass der aufrufende Thread ein STAThread ist und WinForm standardmäßig annimmt, dass der Thread ein MTAThread ist. Ich habe versucht, einen neuen Thread mit einem Appartment State von STAThread zum Aufrufen der WPF UI zu erstellen, aber das hat nicht funktioniert. Ich habe versucht, mit der Dispatcher.BeginInvoke-Methode und Background Worker, aber keine von ihnen das Problem behoben.
1) Können wir WPF Window/Control aufrufen, ohne den Main als STAThread zu markieren? Wenn es möglich ist, Kann mir bitte jemand eine richtige Richtung zeigen? 2) Wenn dies nur dadurch erreicht werden kann, dass der Haupt-Thread ein STAThread ist, hat dies Auswirkungen auf die allgemeine Leistung/Reaktionsfähigkeit der Anwendung.
Vielen Dank im Voraus.
In der Tat STA für OLE-Drag & Drop und bestimmten COM-Komponente benötigt wird, eine Schnittstelle zu arbeiten .. – Gishu