내 목록에서 내 ViewModel의 observableCollection에 항목을 바인딩했습니다 (각 자체 observableCollection을 가진 두 개의 목록보기가 있음). 또한 ViewModel의 속성에 여러 상태 표시 줄 속성을 묶었습니다.모델이 변경되었지만 속성이 변경되지 않았을 때 MVVM에서 뷰에 알리는 방법
내보기 모델에서 '메모리'버퍼를 복사하는 몇 가지 특별한 종류의 복사/붙여 넣기 기능이 있습니다. 실제로 내 뷰 모델 (및 아래 모델)의 속성은 메모리 버퍼에 대한 포인터 일뿐입니다. 복사 할 때 속성이 변경되었음을 알지만 값 자체는 setter로 변경되지 않습니다 (따라서 INotifyPropertyChanged는 호출되지 않습니다).
어떻게 목록보기를 새로 고칠 수 있습니까? 뷰 모델에서 메서드를 호출하여 값을 다시 계산할 수 있기 때문에 상태 표시 줄이 그리 어렵지 않습니다. 그러나 매우 비실용적 인 목록보기의 데이터입니다.
MVVM이 아닌 경우 데이터로 다시 채우 겠지만 MVVM/바인딩을 사용하면 가능하지 않습니다. 의견에 따라
이러한 "메모리 버퍼"를 복사 할 때 적절한 알림을 표시 할 수 있습니까? 당신은 항상 부동산 세터에 의존 할 필요는 없습니다. – Bernard
예, 존재하지 않는 문자열 (예 : 'Memory'속성)을 만들고 목록보기를 채우면 내보기에 반응합니다. 나는 그것이 더러운 트릭으로 여겨졌다 고 생각했다. –
UI를 업데이트하도록 PropertyChanged 이벤트를 수동으로 발생시킬 수는 없습니까? 'RaisePropertyChanged ("SomeProperty");' – Rachel