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