WPF绑定多对一关系返回空结果

WPF绑定多对一关系返回空结果,wpf,binding,Wpf,Binding,我有一个预订,其中有一个旅游指南列表,我正在尝试创建一个预订和旅游指南列表,同时,预订绑定正在工作,但TourguidenTour总是返回为空 以下是我的模型: public class Booking : INotifyPropertyChanged { public IList<TourGuide> TourGuidesOnTour { get { if (_tourGuidesOnTour == null)

我有一个预订,其中有一个旅游指南列表,我正在尝试创建一个预订和旅游指南列表,同时,预订绑定正在工作,但TourguidenTour总是返回为空

以下是我的模型:

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;
}