让方法对DLL中的PropertyChanged做出反应

时间:2014-11-04 09:43:31

标签: c# wpf dll mvvm properties

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

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

1 个答案:

答案 0 :(得分:2)

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.
}