我有一个简单的WPF应用程序,它具有通常的静态Main()(应用程序的入口点)。在显示UI之前,Main将执行一些初始化操作。然后它将创建并运行启动窗口。但是,我需要做的是将自定义对象从main传递到启动窗口,但我不知道该怎么做。
包含Main()的主类看起来像这样:
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
答案 0 :(得分:3)
将MyObject
类型的参数添加到MainWindow
构造函数(或者您喜欢的属性),然后手动创建窗口。只需使用Run
的重载,该重载采用Window
参数,而不是使用启动URI将此窗口显示为主窗口。
Run(new MainWindow(obj));