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を呼び出すだけです。フレームワークの他の部分では、ゲッター/セッターは呼び出されず、代わりに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...
これは、ゲッター/セッター、または他の場所にある可能性があります。