WPF绑定多对一关系返回空结果
我有一个预订,其中有一个旅游指南列表,我正在尝试创建一个预订和旅游指南列表,同时,预订绑定正在工作,但TourguidenTour总是返回为空 以下是我的模型:WPF绑定多对一关系返回空结果,wpf,binding,Wpf,Binding,我有一个预订,其中有一个旅游指南列表,我正在尝试创建一个预订和旅游指南列表,同时,预订绑定正在工作,但TourguidenTour总是返回为空 以下是我的模型: public class Booking : INotifyPropertyChanged { public IList<TourGuide> TourGuidesOnTour { get { if (_tourGuidesOnTour == null)
public class Booking : INotifyPropertyChanged {
public IList<TourGuide> TourGuidesOnTour {
get {
if (_tourGuidesOnTour == null)
return new List<TourGuide>();
return _tourGuidesOnTour;
}
set {
_tourGuidesOnTour = value;
OnPropertyChanged("TourGuidesOnTour");
}
}
}
public class TourGuide : INotifyPropertyChanged {
string _tourGuideFirstName;
public string TourGuideFirstName {
get { return _tourGuideFirstName; }
set {
_tourGuideFirstName = value;
OnPropertyChanged("TourGuideFirstName");
}
}
}
和ReturnValue。TourGuidesOnTour
等于null
:(
有人能告诉我为什么吗?我在你发布的代码中没有看到你在初始化旅游指南SONTOUR,即
ReturnValue.TourGuidesOnTour = new List<TourGuide>();
ReturnValue.TourGuidesOnTour=新列表();
如果不这样做,getter将始终返回一个新的旅游指南列表,但绝不初始化内部变量
因此,您可以初始化TourGuidesOnTour,或者如果您将getter修改为以下内容
get
{
if (_tourGuidesOnTour == null)
_tourGuidesOnTour= new List<TourGuide>();
return _tourGuidesOnTour;
}
get
{
如果(_tourGuidesOnTour==null)
_tourGuidesOnTour=新列表();
返回旅游指南SONTOUR;
}
运行代码,只需删除按钮并在列表中添加一项,一切都显示得很好。自动生成的冒号总是有问题,所以我不会指望它。你说得对,我在预订的构造函数中设置了它。谢谢:)
ReturnValue.TourGuidesOnTour = new List<TourGuide>();
get
{
if (_tourGuidesOnTour == null)
_tourGuidesOnTour= new List<TourGuide>();
return _tourGuidesOnTour;
}