我正在进行一个WPF项目。为了避免大量样板代码,我使用Fody PropertyChanged。这是我的问题片段:
[ImplementPropertyChanged]
public class MyViewModel : MyViewModelBase
{
public bool HasCardSet
{
get
{
return Person != null && Person.Card != null;
}
}
public void SavePerson()
{
Person.Card = new Card();
}
}
[ImplementPropertyChanged]
public class MyViewModelBase : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public Person Person { get; set; }
}
[ImplementPropertyChanged]
public class Person : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public Card Card { get; set; }
}
[ImplementPropertyChanged]
public class Card : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public string Name { get; set; }
public ObservableCollection<SomeOtherClass> Items { get; set; }
}
当我调用 SavePerson()
(在MyViewModel
中)时,它不会触发 HasCardSet
属性。
我添加了PropertyChangedNotificationInterceptor
并查看目标“People”上的属性“Card”是否更改。但是,我的HasCardSet
中断点没有触发。