PropertyChanged.Fody和PropertyObserver

Dar*_*ene 5 c# wpf

Fody的PropertyChanged和Josh Smith的PropertyObserver都是用于WPF开发的两个很棒的包/模式.但是,它们似乎无法一起使用.

在编译时,似乎我正在尝试观察的类需要显式实现INotifyPropertyChanged(而不是仅仅在类上添加Fody ImplementPropertyChanged标记).

"MyViewModel"类型不能用作泛型类型或方法"PropertyObserver"中的类型参数"TPropertySource".没有从'MyViewModel'到'System.ComponentModel.INotifyPropertyChanged'的隐式引用转换

我错过了什么吗?有人有一个聪明的解决方案吗?

Kev*_*sse 4

正如 Fody.PropertyChanged 文档所述

所有没有 [ImplementPropertyChanged] 但仍具有 INotifyPropertyChanged 的​​类都会将通知代码注入到属性集中。

因此,在您的类上手动实现INotifyPropertyChanged(这里没有选择,因为 PropertyObserver 期望实现此接口的类型),并且您仍然可以PropertyChanged通过 Fody 调用注入到您的属性中。