У меня также была эта проблема, когда я не мог отменить выбор каких-либо элементов. Кажется, что список не понимает, когда у вас есть несколько элементов в списке, которые абсолютно одинаковы. (И, таким образом, он выбирает их все, но не отменяет их выбор)
Это также происходит, когда вы изменяете значение выбранного элемента при привязке. Сначала необходимо отменить выбор индекса (например, listBox.SelectedIndex = -1;), а затем изменить значение.
Надеюсь, это поможет кому-то с той же проблемой, что и я.