У меня есть элемент управления listview, который связан с наблюдаемой коллекцией, которую я часто обновляю. Когда я обновляю коллекцию, я очищаю коллекцию и затем добавляю значения. Хотя это немного излишне для простых изменений, это очень просто и выполняет работу. При этом я теряю, какой элемент был выбран в моем элементе управления списком, и не могу понять, как сохранить выбранное состояние после обновления.
Первоначально я думал, что мог бы двусторонне связать SelectedValue, используя следующее (WPF):
SelectedValue="{Binding Path=SelectedDevice, Mode=TwoWay}
А затем обновите мою коллекцию:
string PreviouslySelectedDevice = this.SelectedDevice;
aCollection.Clear();
// ... Add Items ...
this.SelectedDevice = PreviouslySelectedDevice;
Я надеялся, что привязка TwoWay позволит мне внести изменения в свойство бэкэнда, которое будет автоматически отражено в элементе управления listView, но это не работает. Заранее спасибо!