我有一个现有的 WinForms 应用程序。在这个应用程序中,一种形式在单独的线程中被调用:
var newDialogThread = new Thread(new ThreadStart(ShowMyForm));
newDialogThread .Name = "CustomerViewThread";
newDialogThread .IsBackground = true;
newDialogThread .ApartmentState = ApartmentState.STA;
newDialogThread .CurrentCulture = Config.CustomerCulture;
public void ShowMyForm()
{
using(var myForm = new MyForm())
{
Application.Run(myForm );
}
}
现在客户想要使用 WPF 表单而不是 WinForms 对话框。应用程序将保持基于 Winforms。
如何正确重构这部分代码,以便调用我的 WPF 表单而不是 Winforms?
public void ShowMyForm()
{
using(var myWpfForm = new MyWpfForm())
{
// Analog of Application Run?
//Application.Run(myForm );
}
}
Ps 我认为它可以创建纯 WPF 窗口而不将其托管到 Winforms。这是主要情况。