Текст выделенного элемента ComboBox исчезает при прокрутке списка - PullRequest
2 голосов
/ 21 сентября 2011

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

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

У кого-нибудь есть идея, как это исправить?Мне нужно поле со списком, чтобы сохранить выбранный индекс.

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

Я использую Silver Light v4, .net 4

Спасибо ...

Ответы [ 2 ]

0 голосов
/ 17 ноября 2011

У меня была такая же проблема, но с сеткой данных.Я попробовал это (предпочтительное решение), но у меня это не сработало.

Silverlight ComboBox и SelectedItem

Так что мне пришлось пойти с этим ....

http://forums.silverlight.net/post/396922.aspx

0 голосов
/ 22 сентября 2011

Это, вероятно, результат виртуализации по умолчанию ListBox. Когда элементы прокручиваются за пределы отображаемого, они фактически удаляются из дерева визуалов. Если у вас не слишком много элементов в списке, задайте для свойства ItemsPanel ListBox значение ItemsPanelTemplate, содержащее простое StackPanel.

Лучше было бы прекратить использовать событие изменения выбора в этом сценарии, вместо этого использовать привязку к свойству SelectedItem.

...