C# WPF-在第二个窗口中使用向导初始化对象
在WPF应用程序中,我很难借助类似向导的窗口来初始化对象。我有一个主应用程序窗口,用来显示C# WPF-在第二个窗口中使用向导初始化对象,c#,wpf,C#,Wpf,在WPF应用程序中,我很难借助类似向导的窗口来初始化对象。我有一个主应用程序窗口,用来显示计划对象的内容。我想在另一个窗口中初始化Plan对象,该窗口类似于帮助用户参数化Plan 概念如下: MainWindow.xaml.cs WndAddEditPlan.xaml.cs 用户点击NewPlan按钮,向导弹出以创建新的Plan。用户填写所需信息并单击CreatePlan按钮。向导关闭,但主窗口内的apActivePlan未初始化 您不必通过引用类型对象传递ref,因为它们 已经有参考资料了 另
计划
对象的内容。我想在另一个窗口中初始化Plan
对象,该窗口类似于帮助用户参数化Plan
概念如下:
MainWindow.xaml.cs
WndAddEditPlan.xaml.cs
用户点击NewPlan
按钮,向导弹出以创建新的Plan
。用户填写所需信息并单击CreatePlan
按钮。向导关闭,但主窗口内的apActivePlan未初始化
您不必通过引用类型对象传递ref
,因为它们
已经有参考资料了
另一件事
this.apActivePlan = new Plan();
这里您将内存分配给一个局部变量
Plan apActivePlan = null;
不是你经过的那个
ref Plan apActivePlan
两者都是不同的内存指针
因此,您将内存分配给WndadEditPlan的本地引用,并希望初始化MainWindow的变量
所以改变这条线
apActivePlan = new Plan();
而不是
this.apActivePlan = new Plan();
我已删除
ref
关键字,并将行调整为apActivePlan=new Plan()
但返回到主窗口后,主窗口中的apActivePlan成员仍为null
。如果,而不是WndAddEditPlan wndAddPlan=new WndAddEditPlan(ref apActivePlan)代码>,我在WndadEditPlan中定义了一个构造函数来接收对MainWindow的引用,而不仅仅是它开始工作的apActivePlan字段。可能是DataContext
出了问题?
apActivePlan = new Plan();
this.apActivePlan = new Plan();