Fody的PropertyChanged和Josh Smith的PropertyObserver都是在WPF开发中使用的两个很棒的包/模式。但是,他们似乎无法一起使用。
在编译时,似乎我尝试观察的类需要显式实现INotifyPropertyChanged(而不是仅仅在类上添加Fody ImplementPropertyChanged标记)。
类型' MyViewModel'不能用作类型参数 ' TPropertySource'在泛型类型或方法中 ' PropertyObserver&#39 ;.没有隐含的参考 从' MyViewModel'转换至 ' System.ComponentModel.INotifyPropertyChanged'
我错过了什么吗?有人有一个聪明的解决方案吗?
答案 0 :(得分:4)
As the Fody.PropertyChanged documentation states:
所有没有[ImplementPropertyChanged]但仍具有INotifyPropertyChanged的类都会将通知代码注入属性集。
因此,在您的类上手动实现INotifyPropertyChanged
(此处没有选择,因为PropertyObserver期望实现此接口的类型),并且您仍然会在属性中注入对PropertyChanged
的调用Fody。