WPF (c #) комбинированный список обновления выбранного элемента - PullRequest
1 голос
/ 04 ноября 2011

В моем приложении у меня есть поле со списком. Он использует в качестве элемента имя (строку) и идентификатор (int)

Я написал некоторый код, который обновляет то, что отображается, когда я меняю значение элемента.

((Item)(joinedFilesCombobox.SelectedItem)).PictureID = 0;
                joinedFilesCombobox.Items.Refresh();

С этим кодом, когда я нажимаю на значок выпадающего списка в выпадающем списке, мой элемент корректно обновляется в списке, но не текущий выбранный элемент. Чтобы правильно обновить текущий отображаемый элемент, который я только что изменил, мне нужно сделать небольшой трюк:

int curr = joinedFilesCombobox.SelectedIndex;
               joinedFilesCombobox.SelectedIndex = curr+1;
               joinedFilesCombobox.SelectedIndex = curr;  

При этом обновляется представление текущего выбранного элемента.

Но это решение не чистое. Есть ли более чистый способ сделать это?

1 Ответ

3 голосов
/ 04 ноября 2011

Чтобы это работало правильно, ваш Item должен реализовать интерфейс INotifyPropertyChanged и вызвать событие PropertyChanged в установщике свойства PictureID.

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