たとえば、次のようなプロパティがあります。
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");
}
}
}
}
プロパティは Listview : にバインド (MVVM) されます
SelectedItem="{Binding Foobar, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}
。
また、ユーザーがリストの値を変更すると、選択した項目が変更され、値がセッターに設定されます。ユーザーが間違った値を選択した場合、値と foobar null が割り当てられた場合、コードは問題ありません。しかし、WPFではまだ選択された値が表示されています。ゲッターにブレークポイントを設定すると、それも null を返すことがわかります。listview で選択した値をクリアするために WPF を更新する方法は? 最初のように空である必要があります。
ありがとう