2011-02-27 4 views
1

나는 두 개의 클래스가 있다고 가정합니다.ObservableCollection in C#

교수님과 TimePerDay. 나는 각 actualTime으로 TimePerDay 클래스를 채울려고

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

, 내 코드는

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

이며 유형 System.TypeSpan의 인스턴스 멤버에 할당 할 수 없습니다 것을 나에게 오류를주고 형식의 System.Collections.ObjectModel.ObservableCollection입니다. 내가 추가하는 멤버가 같은 유형인데 어떻게 멤버를 할당 할 수 없습니까? 이 라인에서

+1

코드가 의미가 없습니다. 'ts' 란 무엇입니까? – SLaks

+3

일반적으로 컬렉션 속성에는 setter가 없어야합니다. – SLaks

+1

@SLaks XAML에서 설정할 수있는 IIRC 컬렉션 속성에는 설정자가 있어야합니다. 맞습니까? –

답변

1

: 당신은 새로운 TimePerDay을 만들려고하지만, TimeSpanObservableCollection<TimeSpan>subjTime에 할당하는

facultyTime.Add(new TimePerDay() { subjTime = TimeSpan.FromHours(2) }); 

. 당신이 원하는 것 같아요

facultyTime.Add(new TimePerDay() { 
    subjTime = new ObservableCollection<TimeSpan> { TimeSpan.FromHours(2) } 
}); 
+0

정말 고마워요! 그것은 효과가 있었다. 작은 실수. –