Silverlight: как использовать средство просмотра с прокруткой, чтобы обернуть представление списка без указания высоты? - PullRequest
1 голос
/ 24 ноября 2010

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

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

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

Я не включил код, поскольку граф объектов довольно глубокий.

То, что я ищу, - это набор условий, которые заставили бы scrollviewer изменять свой размер в соответствии с его содержимым, а не его родителем.

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

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

1 Ответ

1 голос
/ 24 ноября 2010

Вот некоторые распространенные причины, которые позволяют просмотрщику прокрутки изменять размер содержимого, а не его «родителя»: -

  • Он размещен на Canvas или StackPanel
  • Он присваивается строке или столбцу Grid с горизонтальным или вертикальным выравниванием, для которого не установлено значение Растянуть, а размер его содержимого меньше размера строки или столбца.

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

...