3

我有一个 WinForms 项目,我想从 WPF 用户控件项目中打开一个 WPF 窗口。但是当我创建 WPF 窗口的实例并调用 Show() 时,不会加载引导程序。在 Windows 应用程序中,它位于 App.xaml 中,但用户控件项目没有。我能做些什么?谢谢!

4

3 回答 3

2

在 App.xaml 的资源中拥有引导程序所完成的唯一事情是引导程序的实例化并保持引用,因此它不会被垃圾收集。你可以尝试让它像这样实例化:

public class SomeClass {
    static Bootstrapper _bs = new Bootstrapper();

    ...
}

这将确保它被初始化为静态构造的一部分,这发生在您可以创建SomeClass. 您可能需要尝试看看是否应该在您的 UserControl 或 Window 中发生这种情况。

于 2011-05-11T17:32:22.833 回答
2

我有一个控制台应用程序,它显示了我用 Caliburn.Micro 制作的 WPF gui。我这样呈现 GUI:

        _App = new App();
        _App.Run();

其中 App.xaml 包含引导程序,主线程是 STA,如下所示:

[STAThread]
static int Main(string[] args)
{ ... }

我知道您的情况有所不同,但也许这会给您一个想法。

于 2011-06-08T18:08:51.630 回答
0

控制台应用测试:

添加 MaterialDesignColors 包

[System.STAThreadAttribute()]
static void Main(string[] args)
{
    var _app = new App();
    _app.InitializeComponent();        
    _app.Run();    
    _app.Shutdown();
}
于 2022-03-02T22:19:27.833 回答