2012-04-27 3 views
0

하위 뷰 모델에서 ObservableCollection에 대해 raisepropertychanged 할 수 있습니까? 부모 ViewModel의 ObservableCollection에 새 항목을 삽입하는 자식 뷰 모델이 있는데 바인딩 된 목록을 새로 고치기 위해 해당 컬렉션에서 raisepropertychanged해야합니다. 내가 필요한 것은 이미 추가 된 새 항목을 해당 목록에서 보는 것입니다. MVVM 하위에서 상위로의 라이트 메시징

답변

-1

Messneging 서비스를 사용하여 값 형식 하나의보기/ViewModel/클래스를 보내고 View/Viewmodel/Class에 등록 할 수 있습니다. 다음과 같이 사용할 수 있습니다. 메시징을 보내고 등록하는 동안 토큰을 사용할 수 있습니다.

Messenger.Defalut.Send<ObservableCollection<string>>(obj,"ForAbcView"); 

을 그리고 ABCView 당신은 다음과 같이 등록 할 수 있습니다 :

는 예를 들어

.. 당신은이 같은 messenging를 사용할 수 있습니다 다음 ABCView하는 뷰 모델에서 메시지를 전달하는 데 있다고 가정

Messenger.Default.Register<ObservableCollection<string>>(this,"ForAbcView",(b)=>{ //Some Code }); 

토큰을 사용하면 메신저 보낸 사람은 동일한 토큰을 가진 등록만을 찾습니다. 똑같은 tocken 메서드 만 호출합니다.

이렇게하면 컬렉션을 원하는 위치로 보낼 수 있습니다.

관련 문제