MVVM属性数据绑定

时间:2010-11-14 16:46:38

标签: mvvm

为什么大多数MVVM数据绑定属性示例都会检查当前值是否等于之前的值。

private string name;
public string Name
{
  set 
  {
    if(this.name != value) <- why is this check needed.   
    {...}  
  }  
}

谢谢!

2 个答案:

答案 0 :(得分:2)

在MVVM中,属性设置器在属性更改后触发UI更新。添加此检查可防止UI不必要地刷新(并可能闪烁)。

答案 1 :(得分:0)

在Binding“TwoWay”的情况下,当更改XAML中的值时,ViewModel端的bound属性中的值不能重新发送相同的值。另一方面,如果未更改值(ViewModel绑定方),则无需将“RaiseChangedProperty”事件抛出到视图。