INotifyPropertyChanged
使用すると、プロパティのゲッターとセッターのコードにロジックを追加することもできます。
DependencyProperty
例:
public static DependencyProperty NameProperty = DependencyProperty.Register( "Name", typeof( String), typeof( Customer ) );
public String Name
{
set { SetValue( NameProperty, value ); }
get { return ( String ) GetValue( NameProperty ); }
}
あなたのゲッターとセッターで---できることは単にSetValueとGetValueをそれぞれ呼び出すだけで、b / cはフレームワークの他の部分ではゲッター/セッターは呼び出されず、代わりに直接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、または他の場所にある可能性があります。