データ オブジェクトで INotifyPropertychanged を使用する
public class MyObject : INotifyPropertyChanged
{
string _MyPropertyToBind = string.Empty;
public string MyPropertyToBind
{
get
{
return _MyPropertyToBind;
}
set
{
_MyPropertyToBind = value;
NotifyPropertyChanged("MyPropertyToBind");
}
}
public void NotifyPropertyChanged(string property)
{
if (this.PropertyChanged != null)
{
this.PropertyChanged(this, new PropertyChangedEventArgs(property));
}
}
#region INotifyPropertyChanged Members
public event PropertyChangedEventHandler PropertyChanged;
#endregion
}
次のコードをコントロールに追加できます
<TextBox Text="{Binding MyPropertyToBind, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" >
テキストボックスは datacontext オブジェクト (この例では MyObjet ) の propertychanged イベントにサブスクライブし、ソース データが更新されたときに発生すると想定します。
コントロールの更新を自動的に強制します
自分自身を UpdateTarget メソッドと呼ぶ必要はありません