2012-05-02 1 views
0

엔티티는 이미 PropertyChanged를 구현합니다. 속성이 변경되면 PropertyChanged가 실행됩니다.
내가 원하는 것은 다음과 같습니다. 값을 실제로 변경하지 않아도 (바인딩 목적으로) 코드에서 PropertyChanged 이벤트를 발생시키고 싶습니다.외부에서 속성 변경 이벤트를 발생시키는 방법은 무엇입니까?

MyEntity.RaisedPropertyChanged("myProperty"); 

은 또한 엔티티는 방법을 OnPropertyChanged를 한 것을 알고 있지만 클래스 또는 서브 클래스 내부에서만 사용할 수 있습니다 보호 : I는 기업의 외부에서 같은 일을하고 싶다.

이 요청을 구현하는 방법은 무엇입니까?

답변

0

다른 사람이 왜 그렇게해서는 안되는지 지적 할 수 있지만, 한 가지 간단한 방법은 보호 된 메서드에 중계되는 공용 메서드를 추가하는 것입니다.

public partial class MyEntity 
{  
    public void RaisePropertyChanged(string propertyName) 
    { 
     this.RaisedPropertyChanged(propertyName); 
    } 
} 
+1

감사합니다. 시도하고 그것이 죽은 루프를 일으키기 쉽고 응용 프로그램을 충돌 발견했습니다. – KentZhou

+0

예, 좋지 않습니다. –

0

MyEntity에 대한 부분 클래스 내에 public 메서드를 만들면 해당 메서드를 호출 할 수 있습니다.