INotifyPropertyChanged
사용하면 getter 및 속성 설정 코드에 더 많은 로직을 추가 할 수 있습니다.
DependencyProperty
예:
public static DependencyProperty NameProperty = DependencyProperty.Register( "Name", typeof( String), typeof( Customer ) );
public String Name
{
set { SetValue( NameProperty, value ); }
get { return ( String ) GetValue( NameProperty ); }
}
getter와 setter에서 --- 당신이 할 수있는 일은 단순히 SetValue와 GetValue를 각각 호출하는 것입니다. 프레임 워크의 다른 부분에서는 getter / setter가 호출되지 않고 대신 SetValue, GetValue를 직접 호출하기 때문에 속성 로직은 그렇지 않습니다. 확실하게 실행됩니다.
로 INotifyPropertyChanged
, 이벤트를 정의합니다 :
public event PropertyChangedEventHandler PropertyChanged;
그런 다음 코드 어디에서나 논리를 가지고 다음을 호출하십시오.
// ...
// Something cool...
// ...
if( this.PropertyChanged != null )
{
PropertyChanged( this, new PropertyChangedEventArgs( "Name" ) );
}
// More cool stuff that will reliably happen...
이것은 getter / setter 또는 다른 곳에있을 수 있습니다.