외부 소스에서 현재 데이터 인터페이스 외부에서 특정 엔터티가 변경되었다는 알림을받는 상황에 처해 있습니다. 엔티티를 찾고 통화 새로 고침을 할 수 있습니다.DataContext Refresh and PropertyChanging & PropertyChanged 이벤트
MyDataContext.Refresh (RefreshMode.OverwriteCurrentValues, myEntity);
엔티티에서 변경된 속성이 올바르게 업데이트됩니다. 그러나 INotifyPropertyChanging INotifyPropertyChanged 중 어느 쪽도 새로 고침이 발생할 때 발생하는 것으로 보이지 않으므로 UI에 잘못된 정보가 표시됩니다.
변경 알림 이벤트를 발생시키기 위해 Refresh()가 엔티티에서 올바른 속성 게터 및 설정자를 사용하지 못했지만 동일한 작업을 수행하는 다른 방법이있을 수 있습니다.
내가 잘못 했나요? 새로 고침보다 효과적인 방법이 있습니까? Refresh가 유일한 옵션 인 경우 누구나 해결할 수 있습니까?
Rex, 새로 고침()은 컨트롤러/"거의 비즈니스 계층"수준에서 수행되며 UI 근처에 있지 않으므로 수동 새로 고침이 필요하지 않습니다. Refresh()가 Enity 데이터를 변경하면 변경된 이벤트를 발생시켜야합니다. 실제로 수행하지 않는다는 사실은 저에게 총괄 감독처럼 보입니다. – Scott
@Scott 어쩌면 그것은 감시이지만, 우리가 변경할 수없는 코드 인 반면, 당신은 그렇습니다. 새로 고침()을 호출하고 UI에서 해당 속성에 연결할 때 호출하는 DataContext 클래스에 이벤트를 추가하지 않는 이유는 무엇입니까? 이는 엔티티의 이벤트에서 얻은 SoC에 가깝습니다. –