在.NET中引入ObservableProperty

在日常编码的某个时刻,每当不得不编写另一个实现OnPropertyChanged的属性时,我都会感到精疲力尽。 每次我必须编写与此类似的代码:

当然,我创建了代码片段以使其更快,但仍然如此。 它要求填充属性类型,名称,支持名称,并且毕竟将代码移至其所属的位置(我不喜欢将属性与变量混合在一起)。 因此,这需要时间。 那时,我正在学习Rx.Linq。 很棒,但是例如 在ViewModel中验证数据,没有简单的方法可以实现Rx样式。 我的客户需要动态搜索。 我本可以在View层中使用Rx,但是我喜欢空的代码。
所以我在想:

怎么做? 我需要一个事件,说明ViewModel层中的数据已更改。 我们有OnPropertyChanged。 我应该订阅吗? 延长吗?

经过深思熟虑后,我决定创建ObservableProperty。 用法很简单:

ObservableProperty是实现INotifyPropertyChanged的简单通用对象。 每当值更改时,它都会发出DataChanged事件,因此您可以订阅它。

您可以在此处查看完整的实施。

让我们从Xaml中的View开始。

值得一提的是,您应该使用后缀。 订阅正确值的价值(思考如何解决)。 由于“代码隐藏”中无事可做,因此让我们进入ViewModel。

因此,这里发生的是在构造函数中,我要求ViewModel进行观察。 在这种情况下,我希望它观察SearchText发出的日期更改。 每当发出此事件时,我都会要求ViewModel等待750毫秒,然后执行诸如发送API请求之类的操作。


我想现在就这些了。 这是一个快速的步骤😈与往常一样,如果您有任何问题或建议随时发表评论,请给我发送电子邮件,无论如何发信息。 我很乐意与您交谈。

如果有机会您喜欢这篇文章,请告诉我一些爱和👏! 谢谢!