使方法对DLL中的PropertyChanged作出反应

本文关键字:PropertyChanged 中的 方法 DLL | 更新日期: 2023-09-27 18:29:12

我有一个DLL,其中包含一个实现INotifyPropertyChanged的类。它有一个字符串属性,它的setter触发器PropertyChanged。此字符串在DLL中异步修改。我可以但不希望修改DLL的行为,因为我想让它尽可能通用和可重用。如果我将视图中的字段绑定到属性,它会很好地更新。在我的Visual Studio解决方案中,我希望尽可能地将其保留为MVVM,而不使用任何轮询循环或计时器。

我想添加到解决方案中的是一个方法,该方法以与字段相同的方式,在更新此属性时触发。这是否可能,并且仍将其保持在MVVM模式中?

使方法对DLL中的PropertyChanged作出反应

INotifyPropertyChanged是一个强制执行要实现的PropertyChanged事件的接口。您可以简单地订阅此事件来调用一个方法:

MyClass myClass = new MyClass();
myClass.PropertyChanged += myClass_PropertyChanged;
...
public void myClass_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
    if (e.PropertyName == "MyProperty")
        DoWork();
}
public void DoWork()
{
    //Your functionality.
}