2010-06-24 3 views
1

내 현재 프로젝트에서 Wihtin 내 데이터 항목을 목록 <> 개체에 추가해야합니다. 목록을 ObservableCollection에 목록에서 어셈블리에서 변경할 요청할 수있는 능력이없는 다른 응용 프로그램에서 사용되는 방법 및 외부 형식에서 파생되는 사실 때문에 목록을 사용하고 있습니다. 그래서 지금은 내 스토리지 컬렉션에 대해 List <>을 사용하여 붙어 있습니다. List <>은 항목이 추가 될 때 UI를 자동으로 업데이트하지 않으므로이 업데이트를 호출하는 방법에 대해 궁금해하십니까? 미리 감사드립니다.항목이 List <>에 추가 될 때 UI를 자동으로 업데이트하는 방법 <>

+0

'List '은 내용이 변경 될 때 알림을 제공하지 않습니다. 이러한 알림을받을 수있는 방법이 없으면 방해가됩니다. 알림을받는 방법 (예 : 별도 이벤트)을 통해 수행 할 수있는 경우 가능하지만 코드에 대해 더 많이 알면 도움이됩니다. ViewModel을 사용하고 있습니까? 그것은 INotifyPropertyChanged를 구현합니까? –

+0

보기 모델이 없으므로 목록에서 InotificationProperty 또는 Colleciton이 변경되지 않습니다. 업데이트를 처리하기 위해 관찰 가능한 컬렉션을 만드는 경로를 끝내 었습니다. – rlcrews

답변

6

목록에서 ObservableCollection<T>을 만들고 UI 요소에 바인딩합니다.

+0

나에게 이길 수있어, 내 UI 등에서 이벤트를 등록 할 때마다 내가 사용하는 접근 방식이다. –

0

ViewModel을 사용하고 INotifyPropertyChanged를 구현하는 경우 List> 속성의 속성을 PropertyName 인수로 사용하여 PropertyChanged 이벤트를 던지기 만하면됩니다.

PropertyChangedEventHandler handler = this.PropertyChanged; 

if (handler != null) 
{ 
     var e = new PropertyChangedEventArgs(propertyName); 
     handler(this, e); 
} 
+0

감사합니다. Andy는 좋은 지적입니다. 이 프로젝트를 통해 저는 여전히 모델 뷰 발표자 패턴으로 작업 중이며 MVVM 패턴으로 작업 중입니다. 이것은 좋은 팁이며 앞으로 나아가는 참조 점입니다. 감사합니다. – rlcrews

관련 문제