我是WPF的新手,有几个关于WPF和Windows Forms集成的问题。
我有一个现有的Visual C# Windows Forms应用程序。我想将它与一个WPF窗口集成,可以在单击按钮时显示。这是不可能的,因为WPF希望调用线程为STAThread,并且默认情况下WinForm假定该线程为MTAThread。我尝试使用具有STAThread公寓状态的新线程来调用WPF UI,但这并没有起作用。我还尝试使用Dispatcher.BeginInvoke方法和Background Worker,但它们都没有解决问题。
1)我们能否在不将主线程标记为STAThread的情况下调用WPF窗口/控件?如果可能的话,请指导我正确的方向。 2)如果实现此目标的唯一方法是使主线程成为STAThread,那么对应用程序的总体性能/响应性是否会产生影响。
提前致谢。