Неверный размер полосы прокрутки сетки данных Silverlight - PullRequest
0 голосов
/ 17 декабря 2010

У меня есть пользовательский элемент управления Silverlight, содержащий сетку данных. Сетка данных связана с коллекцией ObservableCollection. Пользовательский элемент управления отображается во всплывающем окне, которое я показываю в ответ на какое-то событие в другом элементе управления

В коллекции около 80 объектов, и я установил фиксированную высоту 400 на сетке данных, поэтому одновременно можно отобразить только около 20 элементов, а вертикальная полоса прокрутки должна отображаться с размером большого пальца. занимая около 1/4 высоты контроля.

Однако, на самом деле происходит, что полоса прокрутки занимает почти всю высоту управления; возможно 95% этого. Сетка данных отображает первые 20 элементов. Когда я нажимаю на стрелку прокрутки вниз, полоса прокрутки немного опускается, чтобы занять нижнюю 95% области прокрутки, а на сетке данных отображаются последние 20 элементов.

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

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

Наконец, если я просто показываю элемент управления прямо на странице, а не во всплывающем окне, он работает нормально. Что тут происходит?! Кто-нибудь еще сталкивался с этой проблемой? Помогите! * * 1023

Обновление : Кажется, проблема в том, что я показываю всплывающее окно. По разным причинам мне пришлось реализовать всплывающее окно несколько хитрым способом, и именно это вызывает проблемы.

1 Ответ

0 голосов
/ 30 мая 2012

Я перекодировал это, убрав некоторые грубые вещи, и проблема ушла;смотри мое обновление.Это не совсем решение как таковое, но я хотел закрыть вопрос для записи.

...