在WPF中,最好在调用NotifyPropertyChanged之前检查属性设置器中是否实际更改了模型属性的值?
例如:
private string foobar;
public string Foobar
{
get
{
return this.foobar;
}
set
{
if (value != this.foobar)
{
this.foobar = value;
this.NotifyPropertyChanged("Foobar");
}
}
}
另一种方法是不检查并且每次只调用NotifyPropertyChanged:
private string foobar;
public string Foobar
{
get
{
return this.foobar;
}
set
{
this.foobar = value;
this.NotifyPropertyChanged("Foobar");
}
}
我见过代码示例中使用的两种样式。每种方法的优点和缺点是什么?
答案 0 :(得分:4)
我总是进行检查,因为事件似乎意味着应该发生实际的改变。
(也可以防止不必要的更新)