为什么大多数MVVM数据绑定属性示例都会检查当前值是否等于之前的值。
private string name;
public string Name
{
set
{
if(this.name != value) <- why is this check needed.
{...}
}
}
谢谢!
答案 0 :(得分:2)
在MVVM中,属性设置器在属性更改后触发UI更新。添加此检查可防止UI不必要地刷新(并可能闪烁)。
答案 1 :(得分:0)
在Binding“TwoWay”的情况下,当更改XAML中的值时,ViewModel端的bound属性中的值不能重新发送相同的值。另一方面,如果未更改值(ViewModel绑定方),则无需将“RaiseChangedProperty”事件抛出到视图。