我有一个listview控件绑定到我经常更新的可观察集合。当我更新集合时,我清除集合,然后添加值。虽然这对于简单的更改来说有点过分,但它非常简单并且完成了这项工作。这样做,我丢失了在listview控件中选择了哪个项目,并且无法确定更新后如何保持选定状态。
我最初认为我可以通过使用以下(WPF)双向绑定SelectedValue:
SelectedValue="{Binding Path=SelectedDevice, Mode=TwoWay}
然后通过以下方式更新我的收藏:
string PreviouslySelectedDevice = this.SelectedDevice;
aCollection.Clear();
// ... Add Items ...
this.SelectedDevice = PreviouslySelectedDevice;
我希望TwoWay绑定允许我对后端属性进行更改,这将在listView控件中自动反映,但这不起作用。提前谢谢!
答案 0 :(得分:0)
您的绑定似乎应该更新SelectedValue
。 SelectedDevice
是DependencyProperty
还是您正在实施INotifyPropertyChanged
?