Сохранение состояния выбора после изменения внутренней коллекции в ListView - PullRequest
0 голосов
/ 18 марта 2009

У меня есть элемент управления listview, который связан с наблюдаемой коллекцией, которую я часто обновляю. Когда я обновляю коллекцию, я очищаю коллекцию и затем добавляю значения. Хотя это немного излишне для простых изменений, это очень просто и выполняет работу. При этом я теряю, какой элемент был выбран в моем элементе управления списком, и не могу понять, как сохранить выбранное состояние после обновления.

Первоначально я думал, что мог бы двусторонне связать SelectedValue, используя следующее (WPF):

SelectedValue="{Binding Path=SelectedDevice, Mode=TwoWay}

А затем обновите мою коллекцию:

string PreviouslySelectedDevice = this.SelectedDevice;
aCollection.Clear();
// ... Add Items ...
this.SelectedDevice = PreviouslySelectedDevice;

Я надеялся, что привязка TwoWay позволит мне внести изменения в свойство бэкэнда, которое будет автоматически отражено в элементе управления listView, но это не работает. Заранее спасибо!

1 Ответ

0 голосов
/ 18 марта 2009

Похоже, ваша привязка должна обновляться SelectedValue. SelectedDevice DependencyProperty или вы реализуете INotifyPropertyChanged?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...