例如,我有这样的属性:
private string foobar;
public string Foobar
{
get
{
return this.foobar;
}
set
{
if (value != this.foobar)
{
// here I want to check if value is correct
if(value != something)
{
this.foobar = value;
this.NotifyPropertyChanged("Foobar");
}
else
{
value = null;
this.foobar = null;
this.NotifyPropertyChanged("Foobar");
}
}
}
}
属性已绑定 (MVVM) 到 Listview :
SelectedItem="{Binding Foobar, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}
。
并且当用户更改列表中的值时,选定项会更改并在 setter 中设置值。我的代码是好的,当用户选择了不正确的值时,值和 foobar null 被分配。但在 WPF 中仍然显示选定的值。当我在 getter 中设置断点时,我可以看到它也返回 null。如何刷新 WPF 以清除列表视图中的选定值?它应该像一开始一样是空的。
谢谢