C# C中的可观察收集#

C# C中的可观察收集#,c#,.net,wpf,C#,.net,Wpf,假设我有两门课 教授和时间每天 public class TimePerDay { private ObservableCollection<TimeSpan> _subjTime; public ObservableCollection<TimeSpan> subjTime { get { return _subjTime; } set { _subjTime = value; } } } privat

假设我有两门课

教授和时间每天

 public class TimePerDay
{
    private ObservableCollection<TimeSpan> _subjTime;
    public ObservableCollection<TimeSpan> subjTime
    {
        get { return _subjTime; }
        set { _subjTime = value; } 
    }
}
private ObservableCollection<TimePerDay> _actualTime;
    public ObservableCollection<TimePerDay> actualTime
    {
        get { return _actualTime; }
        set { _actualTime = value; RaisePropertyChanged("actualTime"); }
    }
public class TimePerDay
{
私人可观测采集时间;
公共可观测收集时间
{
获取{return\u subtime;}
设置{u subtime=value;}
}
}
私人可观察收集的实际时间;
公共可观测收集实际时间
{
获取{return\u actualTime;}
设置{u actualTime=value;RaisePropertyChanged(“actualTime”);}
}
我试图用每个实际时间填充TimePerDay类,我的代码是

                    ObservableCollection<TimePerDay> facultyTime = new ObservableCollection<TimePerDay>();
                    ObservableCollection<TimeSpan> ts = new ObservableCollection<TimeSpan>();
                    ts.Add(TimeSpan.FromHours(9));
                    facultyTime.Add(new TimePerDay() { subjTime = TimeSpan.FromHours(2) }); 
ObservableCollection facultyTime=新的ObservableCollection();
ObservableCollection ts=新的ObservableCollection();
ts.Add(TimeSpan.FromHours(9));
Add(new TimePerDay(){subtime=TimeSpan.FromHours(2)});
这给了我一个错误,类型System.TypeSpan的实例不能分配给类型System.Collections.ObjectModel.ObservableCollection的成员。为什么当我添加的内容具有相同类型时,它无法分配成员?

在这一行:

facultyTime.Add(new TimePerDay() { subjTime = TimeSpan.FromHours(2) });
您正试图创建一个新的
TimePerDay
,但正在将
TimeSpan
分配给
submitime
,这是一个
可观察的集合
。我猜你想要

facultyTime.Add(new TimePerDay() {
    subjTime = new ObservableCollection<TimeSpan> { TimeSpan.FromHours(2) }
});
facultyTime.Add(new TimePerDay()){
SubjectTime=新的ObservableCollection{TimeSpan.FromHours(2)}
});
在这行中:

facultyTime.Add(new TimePerDay() { subjTime = TimeSpan.FromHours(2) });
您正试图创建一个新的
TimePerDay
,但正在将
TimeSpan
分配给
submitime
,这是一个
可观察的集合
。我猜你想要

facultyTime.Add(new TimePerDay() {
    subjTime = new ObservableCollection<TimeSpan> { TimeSpan.FromHours(2) }
});
facultyTime.Add(new TimePerDay()){
SubjectTime=新的ObservableCollection{TimeSpan.FromHours(2)}
});

您的代码没有意义。什么是
ts
?一般来说,集合属性不应该有setter。@SLaks要从XAML设置的IIRC集合属性必须有setter,对吗?您的代码没有意义。什么是
ts
?一般来说,集合属性不应该有setter。@要从XAML设置的SLaks IIRC集合属性必须有setter,对吗?