问候所有人,
我有一个问题。我创建了一个WPF应用程序。所以,我自然为它创建了一个安装程序(Visual Studio安装项目)。
在安装程序的Commit部分中,我想启动一个WPF窗口,这是我的配置向导。
所以我创建了一个Installer类,覆盖了Commit方法,并在方法中添加了以下内容:
Application theApp = new Application;
theApp.Run (new MyWPFWizardWindow());
我一直收到错误:
调用线程必须是STA,因为许多UI组件都需要这个。
没问题,因为它是一个GUI应用程序。但是,对于我的生活,我不能让安装程序启动我的窗口。我试过把[STAThread]放在方法上。我尝试启动一个线程并将ApartmentState设置为STA。我猜这是我看起来很简单的事情。有人有什么想法?
提前致谢..
CMB ..
答案 0 :(得分:1)
在启动线程之前将AppartmentState
设置为STA 应该可以解决问题......
尝试这样做,而不是
new Application().Run(new MyWPFWizardWindow());
DO
new MyWPFWizardWindow().ShowDialog();
...这非常相似,但不会创建Application
类的实例(不能有多个)。