传递窗口作为变量,wpf

时间:2010-08-06 23:01:30

标签: c# wpf

提前感谢您的帮助。

在Main()中的以下代码中:   Application.Run(new frmBackground(frmExit)) 我正在尝试启动窗口frmBackground,它将窗口作为构造函数中的参数,并在加载所有内容(背景图像)后,然后启动传递的窗口。然而,这不编译,只在我使用时编译   Application.Run(new frmBackground(new frmExit())) 传递正确的窗口参数,但它自己创建一个frmExit实例,并启动窗口,即使启动窗口的frmBackground代码被注释掉。

再次感谢你。

2 个答案:

答案 0 :(得分:0)

根据我的理解,当你说Application.Run(new frmBackground(frmExit))时,你没有传递frmExit的实例,而是传递类型(类),根据我的理解,你的方法是期待的一个实例......你可能想做类似的事情:

frmExit exitForm = new frmExit();
Application.Run(new frmBackground(exitForm));

或者有某种“bag”类,你可以保留你可能需要的一些资源的引用,比如这个表单的引用(frmExit),并更改frmBackground的构造函数,然后你替换调用带有“bag”类值的参数变量......类似的东西..

如果这不是您想要实现的目标,我建议您在此处提供有关代码的更多详细信息

答案 1 :(得分:0)

将Type传递给构造函数,然后使用反射在你的fromBackground中创建它这将告诉你如何

Create an instance of a Type, provided as a parameter to a method