2012-01-26 36 views
4

我有一个简单的WPF应用程序,它具有通常的静态Main()(应用程序入口点)。 Main会在UI显示之前做一些初始化的东西。然后它将创建并运行启动窗口。但是,我需要做的是将一个自定义的对象从main传递到启动Window,但我不知道如何去做。包含main()的将参数传递给WPF中的StartupUri

我的主类看起来是这样的:

class App : Application 
{ 
    [STAThread()] 
    static void Main() 
    { 
     MyObject obj; 
     // Some processing stuff here. 

     new App(obj); 
    } 

    public App(MyObject obj) 
    { 
     StartupUri = new System.Uri("MainWindow.xaml", UriKind.Relative); 
     Run(); 
    } 
} 

显然,MyObject是我的自定义对象,我想有在我启动窗口访问。我怎样才能做到这一点?

TIA

回答

3

MyObject类型的参数添加到您的MainWindow构造函数(或属性,如果你喜欢),然后手动创建你的窗口。只需使用Run的超负荷参数Window而不是使用启动URI将此窗口显示为主窗口。

Run(new MainWindow(obj));