【发布时间】:2011-08-12 23:26:58
【问题描述】:
我实现了一种向导。有多个窗口。每个窗口的每个视图模型都是一个基超类(也是一个视图模型)的子类。在第一个窗口中,我填写了一个位于基类中的属性。但是在下一个窗口中,如果我想获得该属性,它是空的。这很烦人,我真的不知道这是怎么回事。
这是我的 BaseViewModel:
public abstract class WijzigToetsBaseViewModel : INotifyPropertyChanged
{
#region Fields
Examination exam;
#endregion // Fields
#region Constructor
protected WijzigToetsBaseViewModel()
{
}
#endregion // Constructor
#region Properties
public Examination Examination
{
set { if(value != null)
exam = value; this.OnPropertyChanged("Examination");
}
get { return exam; }
}
所以我的“共享”属性是检查,在第一个窗口中,我通过以下方式填写:
(第一个窗口的viewmodel,实现上面的model)
public string Pad
{
get { return pad; }
set { pad = value;
OnPropertyChanged("Pad");
this.Examination = XmlConversionExamination.ReadExamination(value);
Naam = this.Examination.Name;
}
}
但是,如果我想在第二个窗口中获得属性“考试”,它会给出 null:
public string Test
{
get {
return this.Examination.Name;
}
set { test = value;
OnPropertyChanged("Test");
}
}
(这是在第二个视图模型中,也实现了基本视图模型。)所以这里 this.Examination = null。这有点奇怪,因为我在第一个窗口中设置了考试属性。有想法的人吗? 谢谢
【问题讨论】:
标签: wpf mvvm null properties