私は決してwuth INotifyPropertyChangedを動かすことはありません。私は記事を読んでいて、そこからINotifyPropertyChangedに関連するコードが見つかりました。についてINotifyPropertyChanged
public class ContactModel : INotifyPropertyChanged
{
private string _firstName;
public string FirstName
{
get { return _firstName; }
set
{
_firstName = value;
RaisePropertyChanged("FirstName");
RaisePropertyChanged("FullName");
}
}
private string _lastName;
public string LastName
{
get { return _lastName; }
set
{
_lastName = value;
RaisePropertyChanged("LastName");
RaisePropertyChanged("FullName");
}
}
public string FullName
{
get { return string.Format("{0} {1}", FirstName, LastName); }
}
protected void RaisePropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
public event PropertyChangedEventHandler PropertyChanged;
public override bool Equals(object obj)
{
return obj is ContactModel && ((ContactModel) obj).FullName.Equals(FullName);
}
public override int GetHashCode()
{
return FullName.GetHashCode();
}
}
上記のコードからRaisePropertyChanged( "FirstName");が見つかりました。常にプロパティセッターから呼び出されます。 RaisePropertyChangedを呼び出す必要がある理由私は良いexplainationのためのGoogleを検索するが、私は良いリンクを発見していない。誰かがRaisePropertyChangedがsetterから呼び出す必要がある理由を説明してください。
おかげ
イベントの一般的な仕組みを理解していますか? –