2010-05-13 7 views
2

그래서 저는 아주 기본적인 것을하고 있다고 생각합니다. 나는 이것이 작동하지 않는 이유를 안다. 그러나 그것이 일하도록하는 똑 바른 포워드 방법이 있어야하는 것처럼 보인다.WPF InotifyPropertyChanged 및 모델보기

코드 : 그래서

private string fooImageRoot; 
// .... 
public BitmapImage FooImage 
{ 
    get 
    { 
    URI imageURI = new URI(Path.Combine(fooImageRoot, CurrentFooTypes.FooObject.FooImageName)); 
    return imageURI; 
    } 
} 

CurrentFOoTypes 및 FooObject도에서 INotifyPropertyChanged를 지원합니다.

그래서 TextBlock을 CurrentFooTypes.FooObject.FooImageName에 바인딩하면 fooObject 또는 FooImageName이 텍스트 블록 업데이트를 변경하는 경우. 비슷한 view에서 업데이트를 받기 위해 viewmodel 객체를 어떻게 등록 할 수 있습니까?

답변

1

내가 틀렸다고 정정하십시오. 속성 FooImageName 및 FooObject에 대한 변경 사항을 알리고 자하는 경우, 소유 객체 모두 INotifyPropertyChanged를 사용하여 관찰자에게 이러한 속성이 변경되었음을 알립니다.

조쉬 스미스 (Josh Smith)는 article을 사용하여이 시나리오에서만 사용되는 PropertyObserver 개체를 소개했습니다.

MVVM Foundation에는이 개체와 MVVM 개발에 유용한 다른 개체가 포함되어 있습니다.

PropertyObserver 또는 사용자 정의 코드를 사용하여 관심있는 속성 (이 경우 FooObject 및 FooImageName)의 변경 사항을 감시하고 변경 사항을 기반으로 이미지 URI를 업데이트해야하는 모든 작업을 수행 할 수 있습니다.

+0

감사합니다. –

관련 문제