2011-01-10 5 views
0

나는 장치의 상태를 나타내는 내 사용자 정의 컨트롤에 구현 된 관찰 가능한 컬렉션이 있습니다. 컬렉션 변경에 따라 사용자 컨트롤은 애니메이션을 트리거하는 것입니다 (collectionchanged 이벤트에 가입). 관찰 가능한 컬렉션은 종속성 속성으로 구현됩니다. 이 응용 프로그램에서 I 데이터는 단방향 데이터 바인딩을 사용하여 장치 상태를 사용자 정의 observableCollection에 바인딩합니다. 응용 프로그램에 새로운 상태가 추가되면 사용자 정의 컨트롤의 ObservableCollection이 업데이트 된 것을 볼 수 있습니다. 그러나 CollectionChanged 이벤트가 발생하지 않으므로 애니메이션이 없습니다. 왜 그렇게 생각하는 사람이 있습니까?WPF - 데이터 바인딩 ObservableCollection CollectionChanged 이벤트?

미리 감사드립니다.

+1

코드는 도움이 될 것입니다. 정확히 어디에서 실수가 있는지를 아는 것은 어렵습니다. 바인딩을 엉망으로 만드는 많은 가능성이 있습니다. –

+0

여기 멋진 코드를 게시하는 방법을 모르겠습니다. 그래서 나는 hotfile.com에서 한 일의 테스트 프로젝트를 업로드했다. 희망이 도움이됩니다. http://hotfile.com/dl/95853235/ce366be/DataBindingObsCollCollectionChange.zip.html – e0eight

답변

0

ObservableCollection이 UI 스레드가 아닌 스레드에서 수정되는 경우 문제가 발생합니다. 컬렉션을 수정하는 스레드가 UI 스레드 (필요한 경우 Dispatcher.Invoke 사용)인지 확인하고 문제가 해결되는지 확인하십시오.

+0

이 진술에 대한 귀하의 출처를 공유해주십시오. 이것이 사실이라면 단위 테스트는 어떻습니까? –

+0

@MauricioAviles : 예를 들어 [here] (http://geekswithblogs.net/NewThingsILearned/archive/2008/01/16/have-worker-thread-update-observablecollection-that-is-bound-to-a.aspx를 참조하십시오.) - 다른 많은 링크도 Google에 오류 메시지가 표시됩니다. 이것에 대한 해결책이 있습니다. 링크 된 페이지에는 하나가 포함되어 있습니다. – Jon

관련 문제