0

我的视图模型中有一个属性MyProperty,它也有一些属性。我只想在OnPropertyChanged("MyProperty")其属性之一更改时显式调用。

我可以做这个

MyProperty.PropertyChanged += MyPropertyChanged;

但是当所有属性都更改时,将调用处理程序。我知道我可以检查是否PropertyName匹配,但我想知道是否有更好的方法。

我需要这个的原因是因为我绑定MyProperty到一些控件并且在转换器中我需要使用多个属性,但是当这些属性更改时,控件中不可见更改。

4

1 回答 1

1

如果您的 MyProperty 类型的属性从未绑定到任何东西,那么该类型没有理由实现 INotifyPropertyChanged。无论是否这样做 - 如果您需要对其属性之一的更改进行任何手动处理,您可以简单地定义一个自定义事件,当它发生更改并在您的视图模型中处理时引发。如果您已经在使用 PropertyChanged 并比较字符串 - 除非事件每秒发生多次,否则应该没问题,

于 2013-04-06T21:59:16.827 回答